资源简介
在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语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论