你猜我猜不猜 (猜数字游戏) 快来小玩一把叭

简介: 你猜我猜不猜 (猜数字游戏) 快来小玩一把叭

目录

😉前言

😀猜数字游戏实现思路

🤪代码的具体实现

🤗对rand函数的分析

😮‍💨总结


😉前言

猜数字小游戏想必大家都在童年玩过吧,基本玩法就是给出一个数字对它进行猜测,猜大猜小进行提示,知道把数字猜正确。现在我们需要用代码实现,在电脑上就是是令电脑随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了,还是猜小了,相等表示猜到了。是不是感觉挺有趣的,快往下看,跟着笔者实现代码叭。


😀猜数字游戏实现思路

要求:1.我们需要创建一个菜单界面,2.我们需要让游戏可以玩多次 3. 我们需要实现让电脑数字大小判断 4. 我们需要让电脑自动生成随机数

思路:1.我们可以用一个menu函数封装菜单界面,菜单界面用printf函数打印。 2. 我们可以使用do while 和 switch语句判断。 3. 我们可以生成一个game函数,在里面实现判断大小。 4. 我们可以使用rand函数来生成随机数。

🤪代码的具体实现

🤗对rand函数的分析

对于自动生成随机数,代码里我们调用了rand函数来生成随机数。这时细心的小伙伴就发现怎么还有一个srand函数,srand里面还有一个time函数,怎么无限套娃呢🤔。要是小伙伴们不懂的话就要借助工具了,我可以在软件msdn上或者网站Reference - C++ Reference (cplusplus.com)上可以查询函数的使用。这里我们就用网站来查询叭。

通过查询我们可以发现它说rand函数会返回0-RAND_MAX之间的随机值,它的参数为空,但是使用rand函数要引用头文件#include <stdlib.h>。(看不懂英文可以翻译,网页是可以直接翻译的)

这时使用rand函数后执行程序会发现,第二遍第三遍执行程序……后的数字和第一次执行程序是一样的。这是为什么呢?我们仔细阅读文档就会发现使用rand函数还需要使用srand函数,我们就点击srand看看它究竟是何方神圣。(为了方便大家阅读,将文档转化为中文了)

通过文档我们发现srand就是初始化随机数生成器,它的参数是unsigned int类型,头文件和rand一样。但是重点来了,它说srand的参数需要传一个随机值!!!这…………本来我们就是要随机数,结果它说参数也要随机数,这不是无限套娃了嘛。其实仔细思考我们想到它就是要一个随机值嘛,那在关于计算机有什么是随机值呢,这时我们就想到了时间戳。(时间戳就是时间戳 是从1970年1月1日(UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒。)。使用时间戳我们就要使用time函数,我们用文档查询(下图二)


我们可以发现time的参数是指针类型,需要用头文件time.h。但我们不需要time的参数,我们就可以传一个空指针NULL进去 。然后又因为rand函数的参数为unsigned int类型,所以我们可以讲time_t强转换为unsigned int类型,初始化随机数就生成了 srand((unsigned int )time(NULL)).因为它是初始化,所以初始化一次就可以了,我们就可以把srand函数放在main函数中。


😮‍💨总结

到此,猜数字游戏就完成了。这个游戏实现起来比较简单,要注意的点就是随机数怎么生成,srand函数的使用位置,最主要的就是我们的阅读资料的能力,在我们学习过程中总会遇到不知道的知识,我们就可以通过使用各种工具帮助我们学习。诸君共勉!

目录
相关文章
|
10月前
|
人工智能 运维 Devops
基于云效落地平台工程企业级最佳实践
本文介绍了平台工程作为DevOps演进的必然方向,探讨了其建设过程中面临的挑战及解决方案。文中首先分析了平台工程与DevOps的关系,强调了其在提升价值交付和降低团队心智负担方面的作用。接着,通过云效作为基础设施,详细阐述了其如何帮助企业构建高效的研发平台,并分享了两个实际案例:一个是200人规模的互联网企业,另一个是2000人规模的金融行业企业。最后,展望了平台工程的未来发展方向,包括组件化开发、AI技术的应用以及智能化场景的融入。碧桂园生活服务集团也分享了其在平台工程领域的实践经验和未来思考,强调了标准化、自动化、可靠性和智能化四大原则的重要性。
279 10
|
监控 Java 网络性能优化
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
本文介绍了 Kubernetes 中的容器工作内存(WorkingSet)概念,它用于表示容器内存的实时使用量,尤其是活跃内存。
57195 115
容器内存可观测性新视角:WorkingSet 与 PageCache 监控
|
人工智能 开发者 Python
python读取word文档 | AI应用开发
在RAG系统中,构建知识库时需读取多种外部文档,其中Word文档较为常见。本文介绍如何使用`python-docx`库读取Word文档(.docx格式)中的标题、段落、表格和图片等内容。首先通过`pip install python-docx`安装库,然后利用提供的接口提取所需信息。尽管该库功能强大,但在识别标题样式时需自定义逻辑,并且仅提供图片的URI而非直接加载。示例代码展示了读取文本、识别标题、读取表格及获取图片URI的方法。【10月更文挑战第2天】
665 2
|
网络协议
Labview 的TCP通信
Labview 的TCP通信
620 0
|
安全 应用服务中间件 网络安全
简单比较 http https http2,我们要如何把http升级为https
【9月更文挑战第13天】本文对比了HTTP、HTTPS和HTTP/2的特点与适用场景。HTTP以明文传输,适合低安全要求的环境;HTTPS通过SSL/TLS加密,适用于电子商务等安全要求高的场景;HTTP/2采用二进制格式和多路复用,适合高性能Web应用。文章还详细介绍了将HTTP升级为HTTPS的步骤,包括申请和安装SSL证书、配置Web服务器、重定向HTTP流量到HTTPS以及测试HTTPS功能。升级到HTTPS可提高数据安全性和用户信任度。
532 13
|
机器学习/深度学习 分布式计算 大数据
几行 Python 代码就可以提取数百个时间序列特征
几行 Python 代码就可以提取数百个时间序列特征
236 9
|
存储 大数据 调度
亚信AISWare DataOS大数据中台套件介绍02——开发程序及调度上下线
DataOS是一款汇总大部分大数据套件的企业型中台,可以满足企业大部分对大数据存储、计算、稽核的需求。但是平台使用体检并不好,所以有条件还是推荐使用阿里云的大数据组件
835 1
|
机器学习/深度学习 JavaScript 前端开发
Jupyter Notebook好用在哪?
Jupyter Notebook好用在哪?
386 0
|
文件存储 网络架构 Docker
无需公网IP,快速远程登录家里的威联通NAS
无需公网IP,快速远程登录家里的威联通NAS