资源简介
在1、2、3...9(保持这个顺序)之间可任意放+或者-或者不放,使其结果等于100,输出所有可能的放法。用c语言编写。
代码片段和文件信息
//
// main.c
// equal100
//
// Created by Tong Tingting on 13-12-20.
// Copyright (c) 2013年 Tong Tingting. All rights reserved.
//
#include
#include
#include
char sarr[9]={‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};
#define Line 8 //数字中间的间隔数总共可以添加3种运算符
#define MAXC 3 //总共可以添加3种运算符
void MatCombin(char (*)[3]int char *);
char strout[Line]; //9个数字之间运算符的排列组合
char mixx[2*Line+1]; //数字和运算符交叉结合后的字符串
int main (){
int i;
char mat[Line][MAXC] ={“+- ““+- ““+- ““+- ““+- ““+- ““+- ““+- “}; //每个间隔可以选取的运算符
MatCombin(mat Line strout);
void mix(char *achar *b);
void cal(char *strm);
exit (0);
}
//递归地进行组合对8个间隔位置上的运算符进行枚举
void MatCombin(char(*p)[MAXC]int nchar *q){
int i;
//这个p对应最后一行,考虑输出
if (n==1) {
for (i=0; i if(!p[0][i]) return;
*q = p[0][i]; //最后一个字符写入到strout
mix(sarr strout);
}
}
//不是最后一行,继续细分
else {
for (i=0; i if(!p[0][i]) return;
*q = p[0][i]; //写入一个字符
MatCombin(p+1n-1q+1);
}
}
return ;
}
void mix(char *achar *b) //数字和运算符交叉连接
{
int ilenth=0;
for (i=0; i<9; i++) {
- 上一篇:数据机构课设--链表
- 下一篇:C语言战争模拟器源码
相关资源
- C语言战争模拟器源码
- socket应用三 用C语言编写发送邮件程序
- 数据结构c语言版上机题代码汇总
- c语言编写的计算器 绝对经典
- C语言回文判断
- C语言编写二进制数搜索程序
- 最大相关最小冗余的C语言源码
- 数字水印源代码,C语言程序
- 长整数乘以普通整数c语言代码
- C语言操作netcdf 用法手册
- 8*8点阵模拟电梯仿真
- 用C语言实现的完整B树
- 非抢占式短作业优先进程调度C语言
- 猜数字游戏 c语言实现 猜4位随机生成
- 秘钥管理系统 c语言实现的RSA
- nrf905无线温度收发程序
- C语言实现二叉树的创建、插入、删除
- 数据结构C语言之哈夫曼编码
- 图书管理系统 C语言设计源代码和实验
- 用C语言实现SHA-1算法
- C语言实现拉格朗日插值
- C语言 斗地主 游戏
- Linux下C语言实现的FTP系统
- C语言连接Access数据库
- 常用加密算法AES、RSA、DES、MD5、TEA、
- DES算法加解密实现 C语言
- linux下FTP服务器与客户端的C语言实现
- c语言程序设计案例教程 廖湖声 第二
- 用C语言实现八数码问题的宽度优先搜
- 数据结构表达式求值,c语言版,能计
评论
共有 条评论