使用暴力枚举,主函数将四个数进行排列组合,调用calculate函数将运算符进行排列组合,一共有24*64=1536种计算方式。

#include <stdio.h>
#include <string.h>
char four_fun[4]={'+','-','*','/'};
float a[4];
int i,j,k,l;
float calculate(float a,float b,float c,float d);
float one_calculate(float a,float b,char c);int main()
{int z;while(1){for(z=0;z<4;z++){scanf("%f",&a[z]);printf("ok\n");}/*将输入的四个数进行排列组合一共4*3*2*1=24种组合方式*/for(i=0;i<4;i++){for(j=0;j<4;j++){if(i==j){continue; //跳过已经选择过的数值 跳过a[i],避免重复使用数字}else{for(k=0;k<4;k++){ if((i==k)||(j==k)){continue;    }else {for(l=0;l<4;l++){if((i==l)||(j==l)||(k==l)){continue;}else{printf("=%d\n",(int)calculate(a[i],a[j],a[k],a[l]));//调用计算函数}}}}}  }   }printf(".......................................................\n");//分割线}
}
float calculate(float a,float b,float c,float d)
{int i,j,m,n;float zero_t,one_t,two_t;/*将运算符进行枚举一共 4*4*4=64种方式*/for(i=0;i<4;i++){zero_t=one_calculate(a,b,four_fun[i]);for(j=0;j<4;j++){one_t=one_calculate(zero_t,c,four_fun[j]);for(m=0;m<4;m++){two_t=one_calculate(one_t,d,four_fun[m]);if(two_t==24||two_t==-24)//此处为正负24 如果只有+24,例如(5-1/5)*5会计算成((5-1)/5)*5,增加负号会改变(5-1/5)*5中的优先级,变成(1/5-5)*5if(two_t>0){  printf("((%d%c%d)%c%d)%c%d\n",(int)a,four_fun[i],(int)b,four_fun[j],(int)c,four_fun[m],(int)d);//有计算的优先级 例如 1,2,3,4 是((1*2)*3)*4这样的优先级}else{printf("-(%d%c%d%c%d)%c%d\n",(int)a,four_fun[i],(int)b,four_fun[j],(int)c,four_fun[m],(int)d);}return two_t;}}}      }}
//此函数将ascii码中的加减转换为四则运算 a,b为运算的数字,c为运算符
float one_calculate(float a,float b,char c)
{float t;switch(c){case '+':{t=a+b;break;}case '-':{t=a-b;break;}case '*':{t=a*b;break;}case '/':{t=a/b; break;}default:break; }return t;
}

C语言实现24点游戏相关推荐

  1. 24点游戏c语言程序代码,C语言实现24点游戏源代码

    本文实例为大家分享了C语言实现24点游戏的具体代码,供大家参考,具体内容如下 将算法实现改成C语言,并可在linux服务器上运行.同时修改为可显示所有结果. 注:如果传参重复,如4,4,7,7这样,会 ...

  2. 24点c语言程序,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  3. c语言二十四点游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  4. 24点游戏c语言去除重复,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  5. c语言24点游戏流程图,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  6. c语言24游戏程序,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  7. 24点游戏c语言源代码6,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  8. c语言简单的24点游戏,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  9. c语言fun函数yx,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

  10. c语言验证24点,C语言解24点游戏程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...

最新文章

  1. CSS三大特性(CSS层叠性、CSS继承性、CSS优先级)
  2. STM32F103 系统启动时钟的选择和详细过程
  3. 物联网云平台-贝壳物联入门详细使用方法
  4. php中调用脚本,PHP中如何调用RScript脚本(附代码)
  5. 回顾国产手机4年沉浮,仍然只是靠这三招翻身
  6. 机器学习实战-集成学习-23
  7. php论坛怎么架设,论坛架设有诀窍 phpWind配置技巧三则
  8. 关于Element学习笔记
  9. python文件下载速度 装饰器_python使用装饰器对文件进行读写操作'及遍历文件目录...
  10. 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
  11. Linux服务器傻瓜安装(图解下)(4)
  12. jQuery基础 - 选择器
  13. 白帽飞客从入门到放肆
  14. php判断搜索为空,【杂谈】PHP怎么判断变量是否为空和是否有值存在?(图文+视频教程)...
  15. vss服务器状态失败_修复VSS 6.0错误的方法
  16. UPnP 协议栈的威胁分析及防范方案
  17. 海思SD3403/SS928开发(三)红外DC接入
  18. c语言里函数rand()和srand()的用法
  19. 【OpenCV 学习笔记】第二十章: 角点检测之:harris算法以及Shi-Tomasi算法
  20. 喵的Unity游戏开发之路 - 游泳

热门文章

  1. windowsNote(小便签)
  2. “解密”华为机器视觉军团:华为向上,产业向前
  3. camunda如何监控流程执行
  4. 儿童CPC认证,儿童学习用品CPC认证
  5. Android studio入门到精通实例实验
  6. linux学习:解决Ubuntu运行时CPU温度过高导致自动关机保护
  7. 总结利用秩为1的矩阵相关矩阵的秩的计算问题
  8. 程序员买房前后对比,看完后已哭瞎...
  9. Facebook等使用苹果源生分享
  10. 使用switch编写一个四则运算(+、-、*、/)