下面这个程序中为什么要在每次动作前加个do? 若是去掉,好像不行。为什么?谢谢。
**********************************************************************************************
**********************************************************************************************
#include
#include
#include
main()
{
int a[4],b[4];
int k=0,t=0,r=0,i,j,p=0;
char ch;
do{ if(p==0) {printf(“\n*********************\n”);
printf(“*welcome to the game*\n”);
printf(“*********************\n”);}
do{
srand((unsigned)time(NULL));
a[0]=rand()%10;
a[1]=rand()%10;
a[2]=rand()%10;
a[3]=rand()%10;
}while(a[0]==a[1]||a[0]==a[2]||a[0]==a[3]||a[1]==a[2]||a[1]==a[3]
||a[2]==a[3]);
do{
printf(“\nplease input four number(0-9):”);
scanf(“%d %d %d %d”,&b[0],&b[1],&b[2],&b[3]);
getchar();
if(b[0]==b[1]||b[0]==b[2]||b[0]==b[3]||b[1]==b[2]||b[1]==b[3]
||b[2]==b[3])
printf(“error!!!!please in put four different number!”);
else
{
r++;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{if((j==i)&&(b[j]==a)) k++;
if((j!=i)&&(b[j]==a)) t++;
}
printf(“%dA%dB”,k,t);
if(k!=4)
{k=0;
t=0;}
}
}while((r<=8)&&(k!=4));
if((r==9)&&(k!=4))
printf(“\n try you best next time!!!\nthe trut answer is:%d %d %d %d”,a[0],a[1],a[2],a[3]);
if(k==4) printf(“\n you are so smart!!!!”);
p++;
printf(“\ndo you want play it again(Y/N)?”);
ch=getchar();
getchar();
r=0;
}while(ch==’y'||ch==’Y');
}
/*说明:直接放在c中就可以运行 */