#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int main()
{
int a,b,c,i=1,d;
srand(time(NULL)); //最好是使用一个随机数种子,以确保每次程序运行不是相同的结果
while(1){
a=rand()%100; //
printf("*************************欢迎来到猜数游戏***************************\n");
for(i=1;i<6;i++) //你原帖是用的while循环但是在内部没有退出循环的语句,所以会一直执行。如果你的判断是i<6,那么剩余猜测的次数不应该是6-i,而是5-i。因为你的i初始值是1
{
printf("请输入0-100内的任意整数");
scanf("%d",&b);
if(a>b)
printf("此数太小,请重新输入(提示,你已输入%d次,还有%d次机会)\n",i,5-i);
else if(a<b)
printf("此数太大,请重新输入(提示,你已输入%d次,还有%d次机会)\n",i,5-i);
else
{
printf("恭喜获得正确答案,你真棒!\n");
break;
}
if(i==5)
printf("运气真糟!正确答案是%d\n",a);
}
getchar();
printf("是否继续游戏?(y/n):");
getchar();
scanf("%c",&d);
if(d=='n')
getchar();//这里输入n后要敲回车键,需要接受字符的
break;
}
}
问题完美解决,谢了哈!
#include"stdlib.h"
#include"time.h"
int main()
{
int a,b,c,i=1,d;
srand(time(NULL)); //最好是使用一个随机数种子,以确保每次程序运行不是相同的结果
while(1){
a=rand()%100; //
printf("*************************欢迎来到猜数游戏***************************\n");
for(i=1;i<6;i++) //你原帖是用的while循环但是在内部没有退出循环的语句,所以会一直执行。如果你的判断是i<6,那么剩余猜测的次数不应该是6-i,而是5-i。因为你的i初始值是1
{
printf("请输入0-100内的任意整数");
scanf("%d",&b);
if(a>b)
printf("此数太小,请重新输入(提示,你已输入%d次,还有%d次机会)\n",i,5-i);
else if(a<b)
printf("此数太大,请重新输入(提示,你已输入%d次,还有%d次机会)\n",i,5-i);
else
{
printf("恭喜获得正确答案,你真棒!\n");
break;
}
if(i==5)
printf("运气真糟!正确答案是%d\n",a);
}
getchar();
printf("是否继续游戏?(y/n):");
getchar();
scanf("%c",&d);
if(d=='n')
getchar();//这里输入n后要敲回车键,需要接受字符的
break;
}
}
问题完美解决,谢了哈!