C语言问题 一个简单的数字记忆游戏

为什么建立好了运行到第二轮就失常 高手指教
/* Simple Simon */
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
char another_game = 'Y';
int correct = 0;/*For bool*/
int counter = 0;
int sequence_length = 0;
time_t seed = 0;
int number =0;
time_t now = 0;
int time_taken = 0;
int i =1;/*For loop*/
/*discription*/
printf("start!\n");
scanf("c",&another_game);
do
{
correct = 1;
counter = 0;
sequence_length = 2;
time_taken =clock();
while(correct)
{
sequence_length += counter++%3 == 0;
seed = time(NULL);
now = clock();
srand((unsigned int) seed);
for( i=1; i<=sequence_length;i++)
printf("%d ",rand()%10);
for (;clock()-now<CLOCKS_PER_SEC;);
printf ("\r");
for( i= 1;i<=sequence_length;i++)
printf(" ");
if (counter == 1)
printf("\nNow you enter the sequence--don't forget the spaces\n");
else
printf("\r");
srand((unsigned int) seed);
for( i= 1;i<=sequence_length;i++)
{
scanf("%d",number);
if(number!=rand()%10)
{
correct=0;
break;
}
}
printf("%s\n",correct?"Correct!":"Wrong!");
}
time_taken = (clock()-time_taken)/CLOCKS_PER_SEC;
printf("\n\nYour score is %d",--counter*100/time_taken);
fflush(stdin);
printf("\nDo you want to play again(y\n)?");
scanf("%c",&another_game);
}while (toupper(another_game)=='Y');
return 0;
}

//---------------------------------------------------------------------------
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
char another_game = 'Y';
int correct = 0;/*For bool*/
int counter = 0;
int sequence_length = 0;
time_t seed = 0;
int number =0;
time_t now = 0;
int time_taken = 0;
int i =1;/*For loop*/
/*discription*/
printf("start!\n");
scanf("%c",&another_game); /*注意这里*/
do
{
correct = 1;
counter = 0;
sequence_length = 2;
time_taken =clock();
while(correct)
{
sequence_length += counter++%3 == 0;
seed = time(NULL);
now = clock();
srand((unsigned int) seed);
for( i=1; i<=sequence_length;i++)
printf("%d ",rand()%10);
for (;clock()-now<CLOCKS_PER_SEC;);
printf ("\r");
for( i= 1;i<=sequence_length;i++)
printf(" ");
if (counter == 1)
printf("\nNow you enter the sequence--don't forget the spaces\n");
else
printf("\r");
srand((unsigned int) seed);
for( i= 1;i<=sequence_length;i++)
{
scanf("%*c%d",&number); /*注意这里*/
if(number!=rand()%10)
{
correct=0;
break;
}
}
printf("%s\n",correct?"Correct!":"Wrong!");
}
time_taken = (clock()-time_taken)/CLOCKS_PER_SEC;
printf("\n\nYour score is %d",--counter*100/time_taken);
fflush(stdin);
printf("\nDo you want to play again(y\n)?");
scanf("%c",&another_game);
}while (toupper(another_game)=='Y');
return 0;
}
//---------------------------------------------------------------------------
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-04
最好把题目描述一下,让别人知道代码是干什么的
相似回答