这个C程序的错误在哪里
#include<stdio.h>#include<stdlib.h>
#include<time.h>
int main()
{
int i,a,b,flag=1;
char p;
while(flag==1)
{
srand((int)time(0));
i=(rand()%100+1);
for(b=0;b<10;)
{
printf("Please enter a number:");
scanf("%d",&a);
b++;
if(a==i)
{
printf("you are right.\n");
printf("you enter %d times.\n",b);
flag=0;
break;
}
else if(a>i)printf("too high\n");
else printf("too low\n");
}
if(flag==1)
{
printf("do you want to enter a number,YES/NOT?\n");
printf("please enter Y/N:");
scanf("%c",&p);//就是这里错在哪里!!!!!!!!!!
if(p=='N'||p=='n')
flag=0;
}
}
return 0;
}
编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
[ 本帖最后由 灰兜兜 于 2012-5-11 14:13 编辑 ]