#include <stdio.h>
#include<stdlib.h>
#include <time.h>
void menu()
{
printf("*****************************************\n");
printf("****** 1.开始游戏 0. 退出游戏 ********\n");
printf("*****************************************\n");
printf("请选择:>");
}
void game()
{
int guss = 0;
guss = rand() % 100 + 1;
int n = 0;
printf("请输入猜的数字:>\n");
while (scanf("%d", &n) != EOF) {
if (n > guss)
{
printf("猜大了\n");
}
else if (n < guss) {
printf("猜小了\n");
}
else
{
printf("恭喜你猜对了\n");
break;
}
}
}
int main() {
int input = 0;
srand((unsigned int)time(NULL));
do {
menu();
scanf("%d", &input);
if (input == 1)
game();
} while (input);
return 0;
}
猜数字大小其中最邻人费解的就是如何生成随机数 在这里我们需要用到 rand() srand() time()这三个函数,rand()能够生成一个随机的数,但是rand()是通过一种算法生成数,生成的是 0 到 32767之间的数,改算法是通过种子(默认为1)来生成序列所以应使用摸个函数将该种子随机生成某一个特定的值,因此要用到srand()这两个函数需要用到一个头文件
#include<stdlib.h>
在函数srand()中调用一个随机值就可以改变种子的值这时候要用到time()函数,从而是rand()函数生成随机值,这里要问了srand()既然需要一个随机值那为什么好要用rand()呢?在生成随机数是需要一个随机数这就矛盾了。这是因为我们们其实没有必要使用time()函数,rand()中我们可以随机输入一个数同样也生成随机值,用time()只不过是便于操作,便于改变种子的值,使用time()函数需要用到下面这个库函数。
#include<time.h>