前言:
学习很苦,游戏来补
这里是用C语言实现的一个简单的猜数字游戏,一是为了巩固自己的知识,二是为了给枯燥的学习过程增加点趣味,可以加强我们学习C语言的热情。
要求:
1.生成1~100的随机数;
2.对猜测结果提出反馈,直到猜对为止
文章目录
1.生成随机数1.1 rand函数1.2 srand 函数1.3 time 函数 2.游戏实现函数调用:游戏进行过程:
1.生成随机数
1.1 rand函数
原型如下:
int rand (viod)
要想生成随机数,首先需要一个rand函数,它会返回一个伪随机数,范围在0-RAND_MAX之间,其实就是0~32767(大部分编译器中)
其次,rand函数需要一个头文件:
stdlib.h
rand函数生成的是伪随机数,并不是真正的随机数,是通过某种算法实现的。它是对一个叫“种子”的基准值进行运算生成的随机数,如果要生成不同的随机数,要让种子变化
1.2 srand 函数
srand函数可以初始化随机数,原型如下:
void srand (unsigned int seed);
先通过srand函数的参数seed设置rand函数生成随机数的种子,使种子变化,进而生成真正的随机数
1.3 time 函数
时间是无时无刻在发生着变化,所以一般让time作为种子
原型如下:
time_t time (time_t* timer);
它同样需要一个头文件:time.h
2.游戏实现
为了方便大家观看,博主将代码分成三部分
函数调用:
#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){printf("**************************\n");printf("**** 1.play ****\n");printf("***** 0.exit *****\n");}
游戏进行过程:
void game()//游戏实现过程{int r = rand() % 100 + 1;//规定随机数范围:1~100int guess = 0;while (1){printf("请猜数字>:");scanf("%d", &guess);if (guess < r){printf("猜小了\n");}else if (guess > r){printf("猜大了\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("退出游戏\n");break;default :printf("选择错误,请重新选择\n");break;}} while (input);return 0;}
执行结果展示:
总结:还是那句话,学习很苦,游戏来补。博主以后会多多更新小游戏的哦,喜欢的小宝可以给博主来个三连哦。