通过代码生成一个随机数,输入一个数猜这个随机数。这里我们需要用到rand函数和time时间戳。而事实上rand生成的随机数并不是随机的,而是通过算法生成的,rand有一个种子可以通过srand来确定,这里我们通过时间戳来改变。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void hh()//子函数用来打印,让主函数更加简洁
{
printf("****************\n");
printf("**** 1.play ****\n");
printf("**** 0.exit ****\n");
printf("****************\n");
}
void game()
{
int b;
int ret = rand() % 100 + 1;//设置1到100的随机数
for (int a = 1; a <= 5; a++)
{
scanf("%d", &b);
if (ret == b)
{
printf("答案正确\n"); break;
}
else if (ret > b)
{
printf("小了\n");
}
else if (b > ret)
{
printf("大了\n");
}
if (a == 5&&a!=ret)//最多猜五次
{
printf("你输了\n");
printf("%d\n", ret);//若五次都未猜出则输出答案
}
}
}
int main()
{
int i = 0;
srand((unsigned int)time(NULL));//通过时间戳改变种子
do//直接进入循环执行hh()
{
hh();
scanf("%d", &i);
if (i == 1)//判断是否进入游戏
game();//子函数用来写随机数游戏的部分
else if(i > 1)
printf("输入错误\n");
} while (i>0);
return 0;
}