食用指南:
本篇文章介绍了如何利用循环、分支语句和函数实现猜数字小游戏。
–欢迎各位交流–
1.构思主函数内容
主函数可大致分为3部分:
(1)菜单
(2)选择对应数字进入/退出游戏
(3)游戏内容
2.游戏部分
2.1 rand函数
想要猜随机数,那么就要生成一个随机数,这时候就需要用到rand函数,这个函数是可以生成随机数的。
原型:int rand (void);
- rand函数会返回一个伪随机数(通过算法生成的,真正的随机数是无法预测的)。
- rand函数使用需要包含一个 #include <stdlib.h> 的头文件。
但是使用rand()函数会发现,它生成的随机数每次都是相同的,如果要改变这个值,我们就要知道rand()函数生成随机数是根据一个“种子”来进行运算生成的,所以要改变每次生成随机数的值,我们就要不断改变种子的值。
2.2 srand函数
c语言中提供了一个函数叫srand,用来初始化随机数的生成器
原型:void srand (unsigned int);
我们使用srand函数在rand函数前,通过srand函数的参数seed来设置rand函数生成随机数时候的种子,这样变化种子,rand()函数生成的随机数也就随之改变了。
2.3 time
那么怎么改变srand函数的seed参数呢?这时候我们就要用到time()函数了。
在c语言中,我们一般使用程序运行的时间作为种子,因为时间是时刻在变化的。
而time函数就可以获得这个时间
- 原型:time_t time (time_t* timer);
- time函数 会返回当前的日历时间,其实返回的是1970年1月1日0时0分0秒到现在程序运行时间之间的差值。如果timer是NULL,就只返回这个时间的差值。这个时间差也被叫做:时间戳
- time函数使用时需要包含头文件 #include <time.h>
如果只让time返回时间戳,我们可以写成 time(NULL)
由于其返回的是int类型,而srand需要unsigned int类型,我们就可以强制转换写成:
srand((unsigned int)time(NULL));
注意:srand函数不需要频繁调用,一次运行的程序中调用一次就够了。
2.4设置随机数范围
生成0-99的随机数可以写成: rand()%100; //除以一百余数在0-99之间
生成1-100的随机数就可以写成: rand()%100+1;
这里给出一个公式:生成a-b的随机数,可以写成: a+rand()%(b-a+1);
3.编写程序
主函数:

菜单:

游戏:

这里可以像上面创建俩个新函数将菜单和游戏部分写在主函数外面,然后调用。也可以直接将内容写在主函数对应位置,这样写比较美观。这里有一部分涉及后面函数的部分,会使用即可。
以上就是本篇全部内容
“我们未来见”
–Promising–



