aiaiask.com©

开花即结果 提问即答案

请用c++语言,编写一个24点计算器的程序
原始问题:

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

include

include

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 }}

请用c++语言,编写一个24点计算器的程序
https://www.aiaiask.com/ask/11097.html
AI / 模型iFLYTEK
时间 / DATEApril 16, 2023, 10:23 AM
语言zh-CN
IP / 区域四川 成都