下面是段数字记忆小游戏,我初学c,详答下呵
问题一、我的回答为什么一定要加空格,可不可以取消空格。如随机生成158,我要输入1 5 8才算正确...
问题二、for(int i=1;i
#include
#include
#include
#include
int main(void)
{
char another_game='N';
bool correct=true;/* int correct=false;*/
int counter=0;
int sequence_length=0;
time_t seed=0;
int number=0;
time_t now=0;
int time_taken=0;
printf("\n现在进行个小游戏,");
printf("\n屏幕上会出现一组数字.");
printf("\n请注意看并记下来,数字只显示1秒钟!");
printf("\n然后请你记下相同的数字序列");
printf("并在后面写下它们.");
printf("\n祝你好运!按回车键开始\n");
scanf("%c",&another_game);
do
{
correct=true;
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(int i=1;i<=sequence_length;i++)
printf("%d",rand()%10);
for(;clock()-now<CLOCKS_PER_SEC;);
printf("\r");
for(int i=1;i<=sequence_length;i++)
printf(" ");
if(counter==1)
printf("\n现在请你输入数字序列,请不要忘记空格\n");
else
printf("\r");
srand((unsigned int)seed);
for(int i=1;i<=sequence_length;i++)
{
scanf("%d",&number);
if(number != rand()%10)
{
correct=false;
break;
}
}
printf("%s\n",correct?"正确!":"错误!");
}
time_taken=(clock()-time_taken)/CLOCKS_PER_SEC;
printf("\n\n 你的分数是 %d",--counter*100/time_taken);
fflush(stdin);
printf("\n你还想再玩一次吗 (y/n)?");
scanf("%c",&another_game);
}while(toupper(another_game)=='Y');
return 0;
}
|