C++怎么实现计算24点的程序

C++怎么实现计算24点的程序

这篇“C++怎么实现计算24点的程序”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++怎么实现计算24点的程序”文章吧。

简单的程序:

C++怎么实现计算24点的程序

1. 运行程序

2. 输入4个整数,比如:3 3 7 8

3. 显示所有可能的组合

代码:

#include"assert.h"#include<iostream>doubleoperate(doublenum1,doublenum2,intop){assert(op>=0&&op<4);if(op==0){returnnum1+num2;}elseif(op==1){returnnum1-num2;}elseif(op==2){returnnum1*num2;}else{returnnum1/num2;}}intcalculate(intnum1,intnum2,intnum3,intnum4){charoperators[]="+-*/";for(inti=0;i<4;i++){for(intj=0;j<4;j++){for(intk=0;k<4;k++){doubleret=operate(num1,num2,i);ret=operate(ret,num3,j);ret=operate(ret,num4,k);if(abs(ret-24)<0.001){printf("((%d%c%d)%c%d)%c%d=%f\n",num1,operators[i],num2,operators[j],num3,operators[k],num4,ret);}ret=operate(num1,num2,i);doubleret2=operate(num3,num4,k);ret=operate(ret,ret2,j);if(abs(ret-24)<0.001){printf("(%d%c%d)%c(%d%c%d)=%f\n",num1,operators[i],num2,operators[j],num3,operators[k],num4,ret);}ret=operate(num2,num3,j);ret=operate(num1,ret,i);ret=operate(ret,num4,k);if(abs(ret-24)<0.001){printf("(%d%c(%d%c%d))%c%d=%f\n",num1,operators[i],num2,operators[j],num3,operators[k],num4,ret);}ret=operate(num2,num3,j);ret=operate(ret,num4,k);ret=operate(num1,ret,i);if(abs(ret-24)<0.001){printf("%d%c((%d%c%d)%c%d)=%f\n",num1,operators[i],num2,operators[j],num3,operators[k],num4,ret);}ret=operate(num3,num4,k);ret=operate(num2,ret,j);ret=operate(num1,ret,i);if(abs(ret-24)<0.001){printf("%d%c(%d%c(%d%c%d))=%f\n",num1,operators[i],num2,operators[j],num3,operators[k],num4,ret);}}}}return0;}intmain(intargc,char*argv[]){intnums[4]={0,0,0,0};std::cin>>nums[0]>>nums[1]>>nums[2]>>nums[3];for(inti=0;i<sizeof(nums)/sizeof(nums[0]);i++){intnum1=nums[i];intret=num1;for(intj=0;j<sizeof(nums)/sizeof(nums[0]);j++){if(j==i)continue;intnum2=nums[j];for(intk=0;k<sizeof(nums)/sizeof(nums[0]);k++){if(k==i||k==j)continue;intnum3=nums[k];for(intl=0;l<sizeof(nums)/sizeof(nums[0]);l++){if(l==i||l==j||l==k)continue;intnum4=nums[l];calculate(num1,num2,num3,num4);}}}}return0;}

以上就是关于“C++怎么实现计算24点的程序”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注恰卡编程网行业资讯频道。

发布于 2022-04-15 22:33:31
收藏
分享
海报
0 条评论
23
上一篇:C++中默认参数与函数重载的方法 下一篇:怎么用C++制作扫雷游戏
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码