c语言24点游戏算法

yqchilde 2017-12-12 05:39:54
c语言24点游戏算法,可以编译但是不知道错在哪里 麻烦有能力者帮忙看看,谢谢

#include<stdlib.h> 
#include<stdio.h>
#include<time.h>
void main()
{
int i,j,k;
int a1,a2,a3,a4;
int x1,x2,x3,x4,x;
do
{ srand(time(0));
for(i=0;i<1;i++)
{
j=rand()%10000;
}

a4=j/1000;a3=(j-a4*1000)/100;
a2=(j-a4*1000-a3*100)/10;a1=j-a4*1000-a3*100-a2*10;
}
while(a1==a2||a1==a3||a1==a4||a2==a3||a2==a4||a3==a4);
printf("Please input a number:");
do
{
scanf("%d",&x);

x4=x/1000;x3=(x-x4*1000)/100;
x2=(x-x4*1000-x3*100)/10;x1=x-x4*1000-x3*100-x2*10;

if(x1==a1)
{
printf("a");
goto q1;
}
if(x1!=a1)
{
if(x1==a2)
{
printf("b");
goto q1;
}
if(x1!=a2)
{
if(x1==a3)
{
printf("b");
goto q1;
}
if(x1!=a3)
{
if(x1==a4)
{
printf("b");
goto q1;
}
if(x1!=a4)
{
goto q1;
}
}
}
}
q1:
if(x2==a1)
{
printf("b");
goto q2;
}
if(x2!=a1)
{
if(x2==a2)
{
printf("a");
goto q2;
}
if(x2!=a2)
{
if(x2==a3)
{
printf("b");
goto q2;
}
if(x2!=a3)
{
if(x2==a4)
{
printf("b");
goto q2;
}
if(x2!=a4)
{
goto q2;
}
}
}
}
q2:
if(x3==a1)
{
printf("b");
goto q3;
}
if(x3!=a1)
{
if(x3==a2)
{
printf("b");
goto q3;
}
if(x3!=a2)
{
if(x3==a3)
{
printf("a");
goto q3;
}
if(x3!=a3)
{
if(x3==a4)
{
printf("b");
goto q3;
}
if(x3!=a4)
{
}
}
}
}
q3:
if(x4==a1)
{
printf("b");
goto q4;
}
if(x4!=a1)
{
if(x4==a2)
{
printf("b");
goto q4;
}
{
if(x4==a3)
{
printf("b");
goto q4;
}
if(x4!=a3)
{
if(x4==a4)
{
printf("a");
goto q4;
}
if(x4!=a4)
{
goto q4;
}
}
}
}
q4:
printf("\n");
}
while(a1!=x1||a2!=x2||a3!=x3||a4!=x4);
printf("You are right!\nThanks for your support.\nThe game is made by xxx~");
getchar();
}
...全文
308 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT8100 2017-12-13
  • 打赏
  • 举报
回复
。。。。我没看懂程序要表达什么,,,,
自信男孩 2017-12-13
  • 打赏
  • 举报
回复
goto语句的使用,建议少用。 另外,楼主的代码太不易理解。看不出24点算法的思路。 建议楼主贴出24点游戏的规则
paschen 2017-12-12
  • 打赏
  • 举报
回复
你这代码让人怎么帮你调试,建议在必要位置设置断点,单步跟踪程序运行,观察变量变化情况,分析原因,可参考赵4老师的:http://bbs.csdn.net/topics/380157851

69,322

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧