楼上的不能解决你猜10次错误想再猜计算机给的下一个数的问题。下面是源程序:
#include
#include
int main()
{
int a,b,i;
int flag=1;
while(flag)
{
a=rand()%100;
i=1;
while(i<=10)
{
printf("请输入你要猜的数字:");
scanf("%d",&b);
if(a==b)
{
printf("你猜得是正确.你猜了%d次",i);
return 0;
}
else if(b>a)
printf("你猜的数字偏大请重新输入");
else
printf("你猜得数字偏小请重新输入");
i++;
}
printf("\n刚才你要猜的正确数字是%d,你猜错了\n",a);
printf("你刚才已经猜了10次,继续游戏请输入1,停止游戏请输入0:");
scanf("%d",&flag);
}
return 0;
}
至于猜数字你可以利用二分法猜,第一次猜(1+100)/2=50.之后再猜中间数。
#include
void main()
{
int a,b,i;
a=random(50)+1;
scanf("%d",&b);
for(i=0;i<10;i++)
{
if(b>a)
{
printf("it is larger, please enter another number: ");
scanf("%d",&b);
}
else
if(b {
printf("it is smaller,please enter another number: ");
scanf("%d",&b);
}
else
{
printf("you win!\n");
break;
}
}
printf("i=%d\n",i);
getch();
}
最外层循环控制用户是否需要继续猜数 例如while(ch=='y'||ch=='Y')
内层循环for()循环十次,每次判断用户输入的值是否为计算机给出的数,如果正确,则break出for()循环,printf("是否继续?(y/n)");然后ch=getch();