• “黑神话·悟空”免安装在线玩,无视显卡等硬件要求!!
  • √ 游戏免下载安装 √ 5分钟随开随玩 √ 关机不计费!低至¥14.90/月!
🔥进入竞技-直面天命🔥

请用c++语言,编写一个24点计算器的程序

时间2023-04-16 10:23:55 提问来自 四川省成都市 的网友 分类创作 浏览317
#include<iostream> #include<cstdio> using namespace std; //定义4个数字及结果 int a,b,c,d; int result; //定义4个运算符 char op1,op2,op3; //判断是否输入正确的表达式,默认为false bool flag=false; //使用递归函数来尝试所有可能的表达式 void dfs(int step){ if(step==3){ //最后一步,直接判断是否相等 if(result==24)flag=true; }else{ switch (step){ case 0: for(op1='+'; op1<='*'; op1++){ int temp=a; if(op1=='+')temp+=b; else if(op1=='-')temp-=b; else temp*=b; dfs(step+1); } break ; case 1: for (op2='+'; op2<='*'; op2++){ int temp = result ; if (op2 == '+')temp += c ; else if (op2 == '-')temp -= c ; else temp *= c ; result = temp ; dfs (step + 1) ; result = temp ; } break ; case 2: for (op3='+'; op3<='*'; op3++){ int temp = result ; if (op3 == '+')temp += d ; else if (op3 == '-')temp -= d ; else temp *= d ; result = temp dfs (step + 1) result = temp } break default : break } } } //主函数 int main(){ while (~scanf("%d%d%d%d",&a,&b,&c,&d)){ flag=false result=(a b c d); printf("Expression:"); printf(" %d %c %d %c %d %c %dn",a , op1 , b , op2 , c , op3 , d ); printf("Result:"); printf(" 24n"); cout<<"No answer!"<<endl return 0 }}

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 社会文化分析东南亚 下一篇 神印王座圣采儿被鸡巴插入