资源简介
c++语言,通过栈实现,输入任意四个整数,输出所有可能得到24的结果
代码片段和文件信息
//西安科技大学-计算机科学与技术学院
#include
#include
#include
using namespace std;
const double PRECISION = 1E-6;
const int COUNT_OF_NUMBER = 4;
const int NUMBER_TO_BE_CAL = 24;
double number[COUNT_OF_NUMBER];
string expression[COUNT_OF_NUMBER];
bool Judgement = false; //判断是否有解。
int count = 0;
void Search(int n)
{
if (n == 1)
{
if (fabs(number[0] - NUMBER_TO_BE_CAL) <= PRECISION) //对于除法,要小心小数的精确位数
{
cout << expression[0] << “\t\t“;
Judgement = true;
count++;
if ((count % 3) == 0)
cout << endl;
}
else
{
}
}
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
double a b;
string expa expb;
a = number[i];
b = number[j];
number[j] = number[n - 1]; //递归之后,n比以前小一位,所以可以不停向前赋值
expa = expression[i];
expb = expression[j];
expression[j] = expression[n - 1]; //递归之后,n比以前小一位,所以可以不停向前赋值
expression[i] = ‘(‘ + expa + ‘+‘ + expb + ‘)‘; //加法不需要分顺序
number[i] = a + b;
Search(n - 1);
expression[i] = ‘(‘ + expa + ‘-‘ + expb + ‘)‘; //减法应该分顺序,减数以及被减数
number[i] = a - b;
Search(n - 1);
expression[i] = ‘(‘ + expb + ‘-‘ + expa + ‘)‘; //减法应该分顺序,减数以及被减数
number[i] = b - a;
Search(n - 1);
expression[i] = ‘(‘ + expa + ‘*‘ + expb + ‘)‘; //乘法不需要分顺序
number[i] = a * b;
Search(n - 1);
if (b != 0)
{
expression[i] = ‘(‘ + expa + ‘/‘ + expb + ‘)‘; //除法应该分顺序,除数以及被除数
number[i] = a / b;
Search(n - 1);
}
if (a != 0)
{
expression[i] = ‘(‘ + expb + ‘/‘ + expa + ‘)‘; //除法应该分顺序,除数以及被除数
number[i] = b / a;
Search(n - 1);
}
number[i] = a; //这4句语句是为了防止如果上面几种可能都失败了的话
number[j] = b; //就把原来的赋值撤消回去以无干扰的正确的进入到下一次
expression[i] = expa; //for循环队列中。
expression[j] = expb; //
}
}
}
int main()
{
cout << “请依次输入4个数字:\n“;
for (int i = 0; i < COUNT_OF_NUMBER; i++)
{
char buffer[20];
cout << “第“ << i + 1 << “个卡片:“;
cin >> number[i];
itoa(number[i] buffer 10); //itoa()函数的作用是把第一个参数(数值)传送到第二个参数(字符串)中去,第三个
//参数(int型)是该数值在字符串里以什么进制存放。
expression[i] = buffer;
}
cout << endl;
Search(COUNT_OF_NUMBER);
if (Judgement == true)
{
cout << “\n成功“ << endl;
cout << “所以可以计算的次数总和 = “ << count << endl;
}
else
{
cout << “失败“ << endl;
}
system(“pause“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 34304 2018-10-13 12:35 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\.suo
文件 4747264 2018-10-13 12:35 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\Browse.VC.db
文件 25690112 2018-10-13 12:35 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\ipch\AutoPCH\d414a9a41e2ffba6\MAIN.ipch
文件 46080 2018-10-01 17:47 数据结构实习2-24点\Debug\数据结构实习2-24点.exe
文件 338956 2018-10-01 17:47 数据结构实习2-24点\Debug\数据结构实习2-24点.ilk
文件 593920 2018-10-01 17:47 数据结构实习2-24点\Debug\数据结构实习2-24点.pdb
文件 306176 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\vc141.idb
文件 372736 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\vc141.pdb
文件 1982 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.log
文件 602 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\CL.command.1.tlog
文件 18596 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\CL.read.1.tlog
文件 308 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\CL.write.1.tlog
文件 1062 2018-10-01 17:47 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\li
文件 3226 2018-10-01 17:47 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\li
文件 390 2018-10-01 17:47 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\li
文件 0 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\unsuccessfulbuild
文件 229 2018-10-01 18:07 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog\数据结构实习2-24点.lastbuildstate
文件 2761 2018-10-01 18:02 数据结构实习2-24点\数据结构实习2-24点\main.cpp
文件 18 2018-09-26 18:52 数据结构实习2-24点\数据结构实习2-24点\TGame.h
文件 5837 2018-09-27 19:18 数据结构实习2-24点\数据结构实习2-24点\数据结构实习2-24点.vcxproj
文件 826 2018-09-26 18:44 数据结构实习2-24点\数据结构实习2-24点\数据结构实习2-24点.vcxproj.filters
文件 1489 2018-09-26 18:44 数据结构实习2-24点\数据结构实习2-24点.sln
目录 0 2018-10-01 17:43 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\ipch\AutoPCH\d414a9a41e2ffba6
目录 0 2018-10-01 18:07 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\ipch\AutoPCH
目录 0 2018-09-26 18:49 数据结构实习2-24点\.vs\数据结构实习2-24点\v15\ipch
目录 0 2018-10-13 12:35 数据结构实习2-24点\.vs\数据结构实习2-24点\v15
目录 0 2018-10-01 17:49 数据结构实习2-24点\数据结构实习2-24点\Debug\数据结构实习2-24点.tlog
目录 0 2018-09-26 18:48 数据结构实习2-24点\.vs\数据结构实习2-24点
目录 0 2018-10-01 17:49 数据结构实习2-24点\数据结构实习2-24点\Debug
...D.H. 0 2018-09-26 18:48 数据结构实习2-24点\.vs
............此处省略6个文件信息
- 上一篇:追赶法.rar
- 下一篇:ldpc编译码c代码
相关资源
- C++商品管理系统50页报告+源码。代码
- C++ 图像处理283241
- 校招面试题库附答案与解析C+++篇.ra
- 传智播客C++进阶课程讲义 传智扫地僧
- C++写太阳/月球坐标计算,在地固坐标
- VC++ 人脸识别定位、眼睛、嘴巴和鼻识
- C++ Concurrency in Action中文PDF
- C++文本文件无失真压缩 Huffman
- 航空订票系统C++实现
- 计算机二级VC++2010学习版
- Visual Assist X西红柿插件VC++6.0通用安装
- c++理财软件
- 基于c++的图书馆图书管理系统
- 完整版sqlite运行所需Vc++运行环境,纯
- Practical C++ Design From Programming to Archi
- 华中科技大学-C++实验 共6次-源代码
- 山东大学编译原理实验源代码c++版
- C++图像伪彩色处理源代码
- C++数字水印完整系统参考
- C++ 多边形边缘填充算法
- 基于socket文件传输的实现源码[C++]
- VC++ MFC 串口通信20个经典源码合集
- MFC莫尔斯电码的编码发声
- C++课程设计五子棋基于Qt4
- C#C++混合编程C#调用非托管C++类
- VC++环境下开发的IEC61850报文发送源代
- 求解VRP问题的C++源程序
- c++文档MSDN详尽版
- 数据结构与算法分析C++语言描述第四
- C++ 拼音输入法
评论
共有 条评论