24点游戏
来源:互联网 发布:unity3d行走播放动画 编辑:程序博客网 时间:2024/06/16 21:36
#include<stdio.h>#include<stdlib.h> #include<string.h>char op[5]={'#','+','-','*','/',}; //将运算符存入字符数组 float cal(float x,float y,int op) {switch(op){case 1:return x+y; //op等于1,加法运算 case 2:return x-y; //op等于2,减法运算 case 3:return x*y; //op等于3,乘法运算 case 4:return x/y; //op等于4,除法运算 } }float calculate_model1(float i,float j,float k,float t,int op1,int op2,int op3){ //对应表达式类型:((A?B)?C)?D float r1,r2,r3; r1=cal(i,j,op1); //计算i,j,结果存入r1 r2=cal(r1,k,op2); //计算r1,k,结果存入r2 r3=cal(r2,t,op3); //计算r2,t,结果存入r3 return r3;}float calculate_model2(float i,float j,float k,float t,int op1,int op2,int op3){ //对应表达式类型:(A?(B?C))?D float r1,r2,r3;r1=cal(j,k,op2); //计算j,k,结果存入r1 r2=cal(i,r1,op1); //计算i,r1,结果存入r2 r3=cal(r2,t,op3); //计算r2,t,结果存入r3return r3;}float calculate_model3(float i,float j,float k,float t,int op1,int op2,int op3){ //对应表达式类型:A?(B?(C?D)) float r1,r2,r3;r1=cal(k,t,op3); //计算k,j,结果存入r1 r2=cal(j,r1,op2); //计算j,r1,结果存入r2r3=cal(i,r2,op1); //计算i,r2,结果存入r3return r3;}float calculate_model4(float i,float j,float k,float t,int op1,int op2,int op3){ //对应表达式类型:A?((B?C)?D) float r1,r2,r3; r1=cal(j,k,op2); //计算j,k,结果存入r1 r2=cal(r1,t,op3); //计算r1,t,结果存入r2r3=cal(i,r2,op1); //计算i,r2,结果存入r3return r3;}float calculate_model5(float i,float j,float k,float t,int op1,int op2,int op3){ //对应表达式类型:(A?B)?(C?D)float r1,r2,r3;r1=cal(i,j,op1); //计算i,j,结果存入r1 r2=cal(k,t,op3); //计算k,t,结果存入r2 r3=cal(r1,r2,op2); //计算r1,r2,结果存入r3return r3;}int get24(int i,int j,int k,int t){int op1,op2,op3; int flag=0;for(op1=1;op1<=4;op1++){ for(op2=1;op2<=4;op2++) { for(op3=1;op3<=4;op3++) //得到不含括号的表达式:A op1 B op2 C op3 D { if(calculate_model1(i,j,k,t,op1,op2,op3)==24) {printf("((%d%c%d)%c%d)%c%d=24\n",i,op[op1],j,op[op2],k,op[op3],t); //若满足条件,则按照对应表达式输出 flag=1; } if(calculate_model2(i,j,k,t,op1,op2,op3)==24) {printf("(%d%c(%d%c%d))%c%d=24\n",i,op[op1],j,op[op2],k,op[op3],t); //若满足条件,则按照对应表达式输出 flag=1; } if(calculate_model3(i,j,k,t,op1,op2,op3)==24) {printf("%d%c(%d%c(%d%c%d))=24\n",i,op[op1],j,op[op2],k,op[op3],t); //若满足条件,则按照对应表达式输出 flag=1; } if(calculate_model4(i,j,k,t,op1,op2,op3)==24) {printf("%d%c((%d%c%d)%c%d)=24\n",i,op[op1],j,op[op2],k,op[op3],t); //若满足条件,则按照对应表达式输出 flag=1; } if(calculate_model5(i,j,k,t,op1,op2,op3)==24) {printf("(%d%c%d)%c(%d%c%d)=24\n",i,op[op1],j,op[op2],k,op[op3],t); //若满足条件,则按照对应表达式输出 flag=1; } } } } return flag;}int main(){int i,j,k,t;printf("Please input four numbers:\n"); //随机输入四个数 scanf("%d %d %d %d",&i,&j,&k,&t);if(get24(i,j,k,t)); //调用get24() elseprintf("Sorry,the four integer cannot be calculated to get 24\n");}
0 0
- 24点游戏代码
- 24点游戏
- 24点扑克牌游戏
- 24点游戏
- 24点游戏
- 《24点游戏》
- 24点游戏
- 24点游戏
- 24点游戏
- 24点游戏
- 24点游戏
- 24点游戏
- 24点游戏
- 24点游戏源码
- 24点游戏
- 24点游戏-hero
- 24点游戏
- 24点游戏算法
- XRecyclerView的Header包含ListView冲突解决(XRecyclerView嵌套ListView)
- MRT(MODIS reprojection tools)下载及安装
- oj219. Contains Duplicate II
- Qt数据库之数据库常用操作
- 电脑系统崩溃如何找回桌面文件?简单,有效!
- 24点游戏
- C# List 排序
- 锋利的jQuery总结(二)
- logstash kafka output 日志处理
- 多项式求和 HDU
- Linux下生成patch和打patch
- Handlebars基础
- Linux域名解析配置文件resolv.conf详解
- jdk动态代理为什么要接口