一、游戏规则
猜数字游戏,随机出0-100的一个数
- a.猜对了,恭喜你,游戏结束
- b.猜错了,会告诉猜大了,还是猜小了,继续猜,直到猜对为止
游戏可以继续玩,除非是不想玩了
二、函数
rand()
函数:是C语言中用于生成伪随机整数的函数。要使用 rand()
,首先需要调用 srand(seed)
函数来设置伪随机数生成器的种子,其中 seed
是一个整数值。通常情况下,可以使用 time(NULL)
来作为种子,以确保每次运行程序都有不同的种子,从而产生不同的随机数序列。
(unsigned int) 强制类型转换: time(NULL)
返回的时间戳通常是 time_t
类型,但是 srand
函数接受的是 unsigned int
类型的参数。这里进行了类型转换,将 time_t
转换为 unsigned int
。
game()函数:主要是生成随机数和用户输入随机数。
menu()函数:菜单,供用户选择。
三、代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
void menu() {
printf("#########################\n");
printf("####### 1.play ######\n");
printf("####### 0.exit ######\n");
printf("#########################\n");
}
void game() {
int res = rand() % 100 + 1;//范围控制在0-100
// printf("%d\n", res);
int guess = 0;
while (1) {
printf("请输入一个数字>");
scanf("%d", &guess);
if (guess < res) {
printf("猜小了");
}
else if (guess > res) {
printf("猜大了");
}
else if (guess = res) {
printf("恭喜你,猜中了\n");
break;
}
}
}
int main() {
int input = 0;
srand((unsigned int)time(NULL));
do {
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input) {
case 0:printf("退出游戏\n");
break;
case 1:printf("开始游戏\n");
game();
break;
default:printf("输入错误,请重新输入");
break;
}
} while (input);
return 0;
}
四、效果图
注意:srand调用多次则生成的数不够随机,所以给放到主函数里面