偶是初二刚刚自学滴,这个问题很纠结...脑细胞都死光了还是搞不懂...大虾小虾什么的都来帮忙指点指点吧
#include <stdio.h>#include <ctype.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
char add=0;
char answer=0;
int counter;
bool correct=true;/*false为0,turn为1.*/
int sequence=0;
time_t seed=0;
int number=0;
int i=0;
time_t now=0;
int time_taken=0;
int ppq=0;
printf("“这是一个能够锻炼你记忆力的游戏”\n");
printf("首先,记住你看到的数字");
printf(",然后写出这个数.\n");
printf("不过这个数会在1秒中后消失\n");
printf("并且数字会慢慢的增加长度\n直到你猜错为止\n");
printf("\n\n准备好了吗?现在让我们开始吧!(请输入任意字母)");
scanf(" %c",&answer);
do
{
ppq=0;
counter=0;
sequence=1;
time_taken=clock();
correct=true;
do
{
correct=true;
++ppq;
if(ppq!=1)
counter++;
while(correct)
{
sequence+=counter++%3==0;
seed=time(NULL);
now=clock();
srand((unsigned int)seed);
for( i=1;i<=sequence;i++)
printf(" %d ",rand() % 10);
for(;clock()-now<CLOCKS_PER_SEC;)
printf("\r");
for( i=1;i<=sequence;i++)
printf(" ");
if(counter==1)
printf("\n请输入你看到的数字\n(注:数字与数字之间请打一个空格)\n");
else
printf("\r");
srand((unsigned int)seed);
for( i=1;i<= sequence;i++) 这里为什么需要循环呢?
{
scanf(" %d",&number);
if(number !=rand() % 10)
{
correct=false; 其他地方都没问题,haiqi还请虾米们把这里
break; 的步骤解析一下,3Q。
}
}
printf("%s\n",correct?"恭喜你答对了!":"对不起,你答错了");
}
time_taken=(clock()-time_taken)/CLOCKS_PER_SEC;
printf("\n你的分数是%d",--counter*100-5*time_taken);
fflush(stdin);
printf("\n\n你想继续下去吗?(y/n):");
scanf(" %c",&add);
}while(toupper(add=='y'));
printf("\n\n你想再玩一次吗(y/n)?:");
scanf(" %c",&answer);
}while(answer=='Y'||answer=='y');
printf("\n\t谢谢光临\n\n");
return 0;
}