问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助~~24速算的C语言编程~~

发布网友 发布时间:2022-04-23 23:05

我来回答

1个回答

热心网友 时间:2023-10-13 02:04

在VC6.0下可通过编译并运行

#include<stdio.h>

double ok(double n1,double n2,char c) /*计算两数运算结果*/
{
if(c=='+') return n1+n2;
if(c=='-') return n1-n2;
if(c=='*') return n1*n2;
if(c=='/') return n1/n2;
}

putout(double n1,double n2,double n3,double n4,char c1,char c2,char c3,char p)
{
switch(p)
{
case 12: printf("(%.0lf%c%.0lf)%c%.0lf%c%.0lf=24\n",n1,c1,n2,c2,n3,c3,n4);break;
case 23: printf("%.0lf%c(%.0lf%c%.0lf)%c%.0lf=24\n",n1,c1,n2,c2,n3,c3,n4);break;
case 34: printf("%.0lf%c%.0lf%c(%.0lf%c%.0lf)=24\n",n1,c1,n2,c2,n3,c3,n4);break;
case 13: printf("(%.0lf%c%.0lf%c%.0lf)%c%.0lf=24\n",n1,c1,n2,c2,n3,c3,n4);break;
case 24: printf("%.0lf%c(%.0lf%c%.0lf%c%.0lf)=24\n",n1,c1,n2,c2,n3,c3,n4);break;
default: printf("error\n");
}
}

main()
{
double t1,t2,t3;
double n1,n2,n3,n4;
int p,p1,p2,p3;
char s[5]={12,23,34,13,24};
char s1[4]="+-*/";
char s2[4]="+-*/";
char s3[4]="+-*/";

printf("input n1: ");scanf("%lf",&n1);
printf("input n2: ");scanf("%lf",&n2);
printf("input n3: ");scanf("%lf",&n3);
printf("input n4: ");scanf("%lf",&n4);
printf("\n");

for(p=0;p<=4;p++) /*遍虑括号的位置*/
for(p1=0;p1<=3;p1++) /*遍虑两数的运算方式*/
for(p2=0;p2<=3;p2++) /*遍虑两数的运算方式*/
for(p3=0;p3<=3;p3++) /*遍虑两数的运算方式*/
{
switch(s[p])
{
case 12: t1=ok(n1,n2,s1[p1]);
if((s2[p2]=='+'||s2[p2]=='-')&&(s3[p3]=='*'||s3[p3]=='/'))
{
t2=ok(n3,n4,s3[p3]);
t3=ok(t1,t2,s2[p2]);
}
else
{
t2=ok(t1,n3,s2[p2]);
t3=ok(t2,n4,s3[p3]);
}
if(t3==24) putout(n1,n2,n3,n4,s1[p1],s2[p2],s3[p3],s[p]);
break;
case 23: t1=ok(n2,n3,s2[p2]);
if((s1[p1]=='+'||s1[p1]=='-')&&(s3[p3]=='*'||s3[p3]=='/'))
{
t2=ok(t1,n4,s3[p3]);
t3=ok(n1,t2,s1[p1]);
}
else
{
t2=ok(n1,t1,s1[p1]);
t3=ok(t2,n4,s3[p3]);
}
if(t3==24) putout(n1,n2,n3,n4,s1[p1],s2[p2],s3[p3],s[p]);
break;
case 34: t1=ok(n3,n4,s3[p3]);
if((s1[p1]=='+'||s1[p1]=='-')&&(s2[p2]=='*'||s2[p2]=='/'))
{
t2=ok(n2,t1,s2[p2]);
t3=ok(n1,t2,s1[p1]);
}
else
{
t2=ok(n1,n2,s1[p1]);
t3=ok(t2,t1,s2[p2]);
}
if(t3==24) putout(n1,n2,n3,n4,s1[p1],s2[p2],s3[p3],s[p]);
break;
case 13:
if((s1[p1]=='+'||s1[p1]=='-')&&(s2[p2]=='*'||s2[p2]=='/'))
{
t1=ok(n2,n3,s2[p2]);
t2=ok(n1,t1,s1[p1]);
}
else
{
t1=ok(n1,n2,s1[p1]);
t2=ok(t1,n3,s2[p2]);
}
t3=ok(t2,n4,s3[p3]);
if(t3==24) putout(n1,n2,n3,n4,s1[p1],s2[p2],s3[p3],s[p]);
break;
case 24:
if((s2[p2]=='+'||s2[p2]=='-')&&(s3[p3]=='*'||s3[p3]=='/'))
{
t1=ok(n3,n4,s3[p3]);
t2=ok(n2,t1,s2[p2]);
}
else
{
t1=ok(n2,n3,s2[p2]);
t2=ok(t1,n4,s3[p3]);
}
t3=ok(n1,t2,s1[p1]);
if(t3==24) putout(n1,n2,n3,n4,s1[p1],s2[p2],s3[p3],s[p]);
break;
default: printf("error\n");
}
}
}

参考资料:http://post.baidu.com/f?kz=164157176

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 减肥怎样科学? C语言实训求:编程实现24点游戏算法 网贷多了,快还不上了。大概还有3万左右,怎么办?都想死了算了,有什么办法可以尽快挣到钱吗? 以前退出的QQ群又回来了,之前的聊天记录没有了怎么找回? c语言编程题,计算二十四点 随机生成四个1~10的数字,使用加减乘除运算,计算24.输出这四个数字是否能计算 减肥怎样有效 用C语言程序编写“抢24”游戏,规则就是两个人,第一个人从数字1开始,可以说1或者1和2,第二个人_百度问一问 减肥怎么减? 算24点编程题,请用pascal qq恢复聊天记录一年前? 减肥怎么样 24点游戏程序编程 减肥怎样才有效果? 删除数据重上qq后,为什么还有QQ群聊天记录,却没有私人的 怎样编程计算24的游戏 怎样才能减肥怎样才能减肥 编程求计算24点的方法是什么? 减肥怎样最快? 编程求计算24点的方法 24学编程晚不晚 C++ 编程,24点游戏 PIC24编程问题 网贷想上岸,不知道如何开始?非常感谢 单片机课程电子钟软件编程时,如何用汇编语言实现24进制的编程? 编程C语言 24点游戏 玩一个组合24的C语言编程游戏。 c语言编程24点游戏,由电脑给四个随机数,用户输入含这四个随机数的算法,有没有大神会啊,帮帮忙啊。 蚕丝被好不好 缺点有哪些 我欠了20万网贷如何强制上岸 求一个简单的C语言游戏24点的编程代码。可以在WIN-TC上面运行的 如何脱离网贷生涯,成功上岸 蚕丝被好吗,什么季节用最好? java程序设计:算24点 c语言程序设计中如何写24变成42的代码? 用蚕丝被好吗? 蚕丝被好不好 蚕丝被好吗 蚕丝被干洗可以吗? 康师傅汤大师番茄牛腩面5包入多少钱一入? 番茄牛里脊汤的做法,番茄牛里脊汤怎么做好吃,番茄牛