C语言(长期更新)
第4讲:分支和循环(三)
实战:猜数字游戏
跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力。
目录
C语言(长期更新)第4讲:分支和循环(三) 实战:猜数字游戏
知识回顾
上节课我们详细学习了C语言的三种循环,这节课我们可以写一些稍有趣味的代码,坐稳了,我们发车,gogogo!
这节课我们写一个 猜数字游戏
游戏要求:
1. 电脑自动⽣成1~100的随机数
2. 玩家猜数字,猜数字的过程中,根据猜测数据给出大或小了的反馈,直到猜对,游戏结束
1.随机数生成
1.1 rand函数
生成伪随机数的函数
返回伪随机数,范围在0~RAND-MAX之间,RAND-MAX大部分编码器是32767
使用时需包含头文件 stdlib.h
试一下先
欸,好像还行,再试一次
发现还是这几个数,这就是“伪随机数”
伪随机数并不是真正的随机数,是以一个叫“种子”的基准值通过特定算法生成的
之前运行结果相同,是因为种子默认为1
要产生随机数,就要使种子变化
1.2 srand函数
用于初始化随机数生成器
在调用rand前先调用srand,通过调参seed设置种子。种子变化,随机数序列就变化起来了
1.3 time函数
- 我们以程序运行时间作为种子,因为时间时刻变化
- time函数就可以获得时间,返回当前日历时间与某特定时间的差值
- 返回类型time_t,为32-64位的整型类型
- 参数timer若是非NULL(非空指针),函数会将返回的差值放在timer指向的内存中带回去
- 若timer是NULL,就只返回这个时间的差值,这个时间差被称为“时间戳”
- timer使用时需包含头文件:time.h
只返回时间戳,就以NULL作为参数
下面我们再试试
、
发现果然不一样
srand不需要频繁调用,一次就好
1.4 设置随机数范围
若想得到0-99的随机数,我们可以对生成的随机数直接取余
1-100
100-200
生成a-b的随机数
2.猜数字游戏实现
参考代码
好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~