头函数
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<time.h> #include<stdlib.h>
游戏要求:
1. 电脑⾃动⽣成1~100的随机数
⽣成a~b的随机数的⽅法:
a + rand()%(b-a+1)
2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束
介绍函数
srand((unsigned int)time(NULL))
rand和srand:rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAND_MAX之间,但是MAX⼤部分编译器上是32767。用rand只能随机一次,所以我们采取srand函数,相当于一个种子,能基准生成随机数
time(NULL):f返回时间戳,因为时间每分每秒都在转动,相当于随机值
该游戏运用到的知识点
while循环,if语句,break,do...while语句,switch语句(基本把分支和循环的知识点都用上了)
代码
void game() { int r = rand() % (100+1); int guess = 0; int count; printf("请输入你要猜的次数count:"); scanf("%d", &count); while (count) { printf("\n你还有%d次机会\n",count); printf("请输入你猜的数字==》"); scanf("%d", &guess); if (r > guess) { printf("猜小了\n"); } else if (r < guess) { printf("猜大了\n"); } else { printf("猜对了\n"); break; } count--; } if (count == 0) { printf("正确答案是%d\n", r); } } void menu() { printf("**************\n"); printf("****1.开始****\n"); printf("****0.结束****\n"); printf("**************\n"); } 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("游戏结束\n"); break; default: printf("选择错误,请重新选择\n"); break; } } while (input); return 0; }
游戏实现
特别说明:
“请选择==>”一定要按“1”,不能按“1.”
结束游戏也是,要按“0”
因为“%d”读取的只是数字