通过之前的时间数字 再次获取一次随机数。然后和用户输入的数进行一一比较。只要有一个输入不对。那就错了#include
#include
#include
#include
int main(void)
{
time_t seed = 0; //随机数序列的种子值
char isPlayAgain = 'Y';
int seqLength = 2; //一开始数字序列长度为2 后面 根据猜对情况 每次递增1
time_t now = 0; //存储随机值的当前时间种子
int number = 0;//用来存储用户输入的某个数字
int correct = true;//用来存储 是否输入正确
do
{
//将seed设置为自1970年1月1日以来的秒数 存储起来后面有用
seed = time(NULL);
srand((unsigned int)seed);//初始化随机序列
//记录序列的开始时间
now = clock();
//输出随机数字
for(int i = 1; i <= seqLength; i++)
{
printf("%d ", rand() % 10); //只输出1到9
}
//等一秒
for( ; clock() - now
//现在重写数字序列
printf("\r");//转到行首
for(int i = 1; i <= seqLength; i++)
{
printf(" ");
}
printf("\r");
//对照原始数字检查输入序列
srand((unsigned int)seed);//重新启动随机序列
for(int i = 1; i <= seqLength; i++)
{
scanf("%d", &number); /*读取输入数字*/
if(number != rand() % 10) /*与随机数比较*/
{
correct = false; /*输入错误*/
break; /*无需进一步检查...*/
}
}
printf("%s\n", correct? "对的!" : "错的!");
fflush(stdin);//清空输入缓冲区,通常是为了确保不影响后面的数据读取
printf("\n你想再玩一次吗 (y/n)? ");
scanf("%c",&isPlayAgain);
}
while(tolower(isPlayAgain)=='y');
return 0;
}