C语言石头剪刀布程序
我编了一个石头剪刀布程序,编译连接通过了,但是无法运行成功,大家看看哪里有问题?代码如下:#include<stdio.h>#include<stdlib.h>#incl...
我编了一个石头剪刀布程序,编译连接通过了,但是无法运行成功,大家看看哪里有问题?代码如下:
#include <stdio.h>
#include <stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("欢迎来玩石头剪刀布,请使用键盘输入,0代表石头,1代表剪刀,2代表布。\n******************************************************\n");
int x,com,user;
unsigned int seedVal;
struct timeb timeBuf;
ftime(&timeBuf);
seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
(unsigned int)timeBuf.millitm)^
(unsigned int)timeBuf.millitm);
srand((unsigned int)seedVal);
x=rand();
com=x%3;
scanf("%d\n",user);
if(user>2) printf("您的输入有误,请输入0、1、2中任意一个数字\n");
else
if(com==0)
{if(user==0) printf("平手\n");
else
{if(user==1) printf("输了\n");
else printf("赢了/n");}}
else {if(com==1) {if(user==0) printf("赢了\n");
else
{if(user==1) printf("平手\n");
else printf("输了\n");}}
else {if(user==0) printf("平手\n");
else
{if(user==1) printf("赢了\n");
else printf("输了\n");}}}
goto loop;
}
代码有一小步错了,最后一点修改如下,还是原来的问题:
else {if(user==0) printf("输了\n");
else
{if(user==1) printf("你赢了\n");
else printf("平手\n");}}}
goto loop;
} 展开
#include <stdio.h>
#include <stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("欢迎来玩石头剪刀布,请使用键盘输入,0代表石头,1代表剪刀,2代表布。\n******************************************************\n");
int x,com,user;
unsigned int seedVal;
struct timeb timeBuf;
ftime(&timeBuf);
seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
(unsigned int)timeBuf.millitm)^
(unsigned int)timeBuf.millitm);
srand((unsigned int)seedVal);
x=rand();
com=x%3;
scanf("%d\n",user);
if(user>2) printf("您的输入有误,请输入0、1、2中任意一个数字\n");
else
if(com==0)
{if(user==0) printf("平手\n");
else
{if(user==1) printf("输了\n");
else printf("赢了/n");}}
else {if(com==1) {if(user==0) printf("赢了\n");
else
{if(user==1) printf("平手\n");
else printf("输了\n");}}
else {if(user==0) printf("平手\n");
else
{if(user==1) printf("赢了\n");
else printf("输了\n");}}}
goto loop;
}
代码有一小步错了,最后一点修改如下,还是原来的问题:
else {if(user==0) printf("输了\n");
else
{if(user==1) printf("你赢了\n");
else printf("平手\n");}}}
goto loop;
} 展开
展开全部
帮你修改了一下判断部分。你试试吧:
#include <stdio.h>
#include <stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("欢迎来玩石头剪刀布,请使用键盘输入,0代表石头,1代表剪刀,2代表布。\n******************************************************\n");
int x,com,user;
unsigned int seedVal;
struct timeb timeBuf;
ftime(&timeBuf);
seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
(unsigned int)timeBuf.millitm)^
(unsigned int)timeBuf.millitm);
srand((unsigned int)seedVal);
x=rand();
com=x%3;
scanf("%d",&user);
if(user>2)
printf("您的输入有误,请输入0、1、2中任意一个数字\n");
else
{
if(com==0)
{
if(user==0) printf("平手\n");
if(user==1) printf("输了\n");
if(user==2) printf("赢了\n");
}
if(com==1)
{
if(user==0) printf("赢了\n");
if(user==1) printf("平手\n");
if(user==2) printf("输了\n");
}
if(com==2)
{
if(user==0) printf("输了\n");
if(user==1) printf("赢了\n");
if(user==2) printf("平手\n");
}
}
goto loop;
}
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
scanf("%d\n",user);
改为scanf("%d", &user);
把\nq去掉,user加上地址,就好了:
#include <stdio.h>
#include <stdlib.h>
#include<sys/types.h>
#include<sys/timeb.h>
main()
{
loop:
printf("欢迎来玩石头剪刀布,请使用键盘输入,0代表石头,1代表剪刀,2代表布。\n******************************************************\n");
int x,com,user;
unsigned int seedVal;
struct timeb timeBuf;
ftime(&timeBuf);
seedVal=((((unsigned int)timeBuf.time&0xFFFF)+
(unsigned int)timeBuf.millitm)^
(unsigned int)timeBuf.millitm);
srand((unsigned int)seedVal);
x=rand();
com=x%3;
scanf("%d",&user);
if(user>2) printf("您的输入有误,请输入0、1、2中任意一个数字\n");
else
if(com==0)
{if(user==0) printf("平手\n");
else
{if(user==1) printf("输了\n");
else printf("赢了/n");}}
else {if(com==1) {if(user==0) printf("赢了\n");
else
{if(user==1) printf("平手\n");
else printf("输了\n");}}
else {if(user==0) printf("输了\n");
else
{if(user==1) printf("你赢了\n");
else printf("平手\n");}}}
goto loop;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个严重点的错误是:scanf("%d\n",user);
应该为scanf("%d\n",&user);
其它就是if中可能隐藏着逻辑错误,没具体看,建议你把括号打清楚些。
每个if都标准的加上{}。
应该为scanf("%d\n",&user);
其它就是if中可能隐藏着逻辑错误,没具体看,建议你把括号打清楚些。
每个if都标准的加上{}。
更多追问追答
追问
改过来了,可还是原来的问题,选择语句都检查过了,没有问题,我仔细看了一下,有一个没有提醒的警告:function should return a value; 'void' return type assumed
追答
具体不能运行成功的错误是什么?是程序崩溃,还是逻辑不对?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询