rand是生成一个伪随机数(0-32767),是在调用rand的时候要用srand函数(设置随机数的生成起点)为伪随机数生成器提供种子。
rand随机生成的数字太大,所以去模100,余数也是随机数。
void srand( unsigned int seed );只要seed发生变化就会发生变化,我们可以想到电脑上的时间一直在发生变化,time为时间函数,time函数返回的其实是函数执行在time函数的那一刻到计算机起始时间的一个差值,用这个差值做随机数的生成器。time函数有参数,但是我们在这里不关心这个函数的参数,我们设定time为一个空指针time(NULL)。
#include
#include
#include
void menu()
{
printf("***********************\n");
printf("***** 1.play *****\n");
printf("***** 2.exit *****\n");
printf("***********************\n");
}
void game()
{
int ret = 0;
int n = 0;
ret = rand()%100;
while(1)
{
printf("请输入数字:>");
scanf("%d",&n);
if(n>ret)
{
printf("猜大了\n");
}
else if(nprintf("猜小了\n");
}
else
{
printf("猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch(input)
{
case 1:
game();
break;
case 0:
printf("退出");
break;
default:
printf("选择错误");
break;
}
}while(input);
return 0;
}