C语言实现24点游戏
使用暴力枚举,主函数将四个数进行排列组合,调用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点游戏相关推荐
- 24点游戏c语言程序代码,C语言实现24点游戏源代码
本文实例为大家分享了C语言实现24点游戏的具体代码,供大家参考,具体内容如下 将算法实现改成C语言,并可在linux服务器上运行.同时修改为可显示所有结果. 注:如果传参重复,如4,4,7,7这样,会 ...
- 24点c语言程序,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言二十四点游戏,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- 24点游戏c语言去除重复,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言24点游戏流程图,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言24游戏程序,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- 24点游戏c语言源代码6,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言简单的24点游戏,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言fun函数yx,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
- c语言验证24点,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 前几天在微博上看到24点的游戏,6 6 6 10.算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的 ...
最新文章
- CSS三大特性(CSS层叠性、CSS继承性、CSS优先级)
- STM32F103 系统启动时钟的选择和详细过程
- 物联网云平台-贝壳物联入门详细使用方法
- php中调用脚本,PHP中如何调用RScript脚本(附代码)
- 回顾国产手机4年沉浮,仍然只是靠这三招翻身
- 机器学习实战-集成学习-23
- php论坛怎么架设,论坛架设有诀窍 phpWind配置技巧三则
- 关于Element学习笔记
- python文件下载速度 装饰器_python使用装饰器对文件进行读写操作'及遍历文件目录...
- 凌晨一点的粤海街道对抗来自美国的力量|湾区人工智能
- Linux服务器傻瓜安装(图解下)(4)
- jQuery基础 - 选择器
- 白帽飞客从入门到放肆
- php判断搜索为空,【杂谈】PHP怎么判断变量是否为空和是否有值存在?(图文+视频教程)...
- vss服务器状态失败_修复VSS 6.0错误的方法
- UPnP 协议栈的威胁分析及防范方案
- 海思SD3403/SS928开发(三)红外DC接入
- c语言里函数rand()和srand()的用法
- 【OpenCV 学习笔记】第二十章: 角点检测之:harris算法以及Shi-Tomasi算法
- 喵的Unity游戏开发之路 - 游泳