匿名用户
1级
2016-01-17 回答
一个函数用于生成一个随机数
再用一个函数进行三次循环
如果循环中输入的数字猜对了就返回1如果三次循环结束则返回0
主数字判断返回的结果如果是1则表示猜对否则表示猜错
然后询问是否继续进行猜数字游戏
下面是一个简单的代码
#include
#include
void clean_input_buf(void)
{
while(getchar() != '\n');
}
int make_num(int num)
{
srand(num);
return 1+rand()%20;
}
int guess_num(void)
{
int i=3;
int n;
int num;
num=make_num(clock());
while(i)
{
printf("请输入一个你猜的数字:");
scanf("%d",&n);
if(n == num)
return 1;
clean_input_buf();
--i;
}
return 0;
}
int main(int argc,char **argv)
{
char c;
printf("猜数字游戏!\n游戏要猜测的数字为1-20,每个数字可以猜测3次!\n");
while(1)
{
if(guess_num() == 1)
printf("恭喜你,你猜中了!\n");
else
printf("很遗憾,你猜错了!\n");
redo:
printf("还要继续游戏吗?继续输入Y否则输入N!\nY/N:");
c=getchar();
clean_input_buf();
if(c == 'Y' || c == 'y')
continue;
else if(c == 'N' || c == 'n')
break;
else
{
printf("输入错误,请重新输入!\n");
goto redo;
}
}
return 0;
}