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

news2024/12/24 8:57:41


🤩本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。

🥰内容专栏:这里是《C语言》专栏,笔者用重金(时间和精力)打造,将C语言知识一网打尽,希望可以帮到读者们哦。

🥴内容分享:本期会使用C语言知识来编写一个猜数字小游戏,从无到有,力求让每一位读者看懂。

😘:不要998,只要一件三连,三连买不了吃亏,买不了上当(写作不易,求求了💓)


目录

😉前言

😀猜数字游戏实现思路

🤪代码的具体实现

🤗对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函数的使用位置,最主要的就是我们的阅读资料的能力,在我们学习过程中总会遇到不知道的知识,我们就可以通过使用各种工具帮助我们学习。诸君共勉!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Vue热更新失效问题

解决Vue热更新失效 一、问题描述二、出现原因三、解决方案四、总结 &#x1f680; 欢迎访问我的个人博客&#xff1a;https://wk-blog.vip 一、问题描述 之前在本地测试Vue项目时&#xff0c;是可以热更新的&#xff0c;但是最近一段时间发现Vue的热更新失效了。然后通过vs co…

【大厂直通车】美团_测开面经

哈喽,大家好,我是小浪;那么最近暑假实习,日常实习是卷的飞起,无论是开发岗,测试岗,算法岗,都一片死寂;不过还是有很多大佬,成功绞杀很多大厂,offer也是拿到手软; 团子暑期实习offer: 📱本专栏致力于持续更新最新各大厂面经,实习消息,招聘要求; 那么目前价格…

ISCSI个人理解与简要说明

ISCSI个人理解与简要说明 一、如何理解ISCSI二、iscsi 命令iscsiadm&#xff08;管理客户端&#xff09;tgtadm&#xff08;管理服务端&#xff09; 三、ISCSI中的概念四、从DAS&#xff0c;NAS&#xff0c;SAN的角度扩展理解ISCSI 一、如何理解ISCSI 理解一个东西&#xff0c…

Niginx的rewrite

常用的Nginx正则表达式 ^匹配输入字符串的起始位置 $匹配输入字符串的结束位置 *匹配前面的字符零次或多次。如“ol*" 能匹配"o”及“ol”、“oll” 匹配前面的字符一次或多次。如“ol" 能匹配“ol"及“ol1”、“olll"&#xff0c; 但不能匹配“o” ?…

服务器版本的表白墙

目录 1.步骤 2.提供两个接口: 3.流程 4.代码 1.前端代码 2.sql创建表 3.后端代码 MessageServlet.java DBUtil.java 1.步骤 1.约定前后端交互的接口 2.开发服务器代码 a.编写servlet处理前端发来的请求 b.编写数据库代码,存储获取关键的数据 3.开发客户端代码 a.基于…

java学习中遇到的问题及解答

你好&#xff0c;我想问一下&#xff0c;为什么在idea编译环境下&#xff0c;有异常的地方它会报错&#xff0c;让你主动添加抛出错误代码呢&#xff1f; 在Java中&#xff0c;有两种类型的异常&#xff0c;一种是受检异常&#xff08;checked exception&#xff09;&#xff0…

一级结构规范 合集

极限状态设计原则4.1限态4.11 极限状态可分为承载能力极限状态、正常使用极限状态和耐久性极限状态。极限状态应符合下列规定:1当结构或结构构件出现下列状态之一时&#xff0c;应认定为超过了承载能力极限状态;1) 结构构件或连接因超过材料强度而破坏&#xff0c;或因过度变形…

安捷伦E4433B信号发生器

E4433B Agilent E4433B ESG-D系列 4G信号发生器安捷伦250kHz-4GHz 品  牌&#xff1a; Agilent 简单介绍 频率范围&#xff1a; E4430B 250K-1GHz E4431B 250K-2GHz E4432B 250K-3GHz E4433B 250K-4GHz 18320918653 供单信道和多信道CDMA用的测量卡用于I和Q的20 MH…

第六章 建造者模式

文章目录 前言一、传统方式解决盖房子需求完整代码抽象房子类 AbstractHouse实现子类 普通房子实现子类 高楼大厦客户端盖房子 二、引入建造者模式建造者模式的四个角色&#xff1a; 产品、抽象建造者、具体建造者、指挥者完整代码House类 (产品角色)抽象父类&#xff08;抽象建…

Node内置模块 【Event事件模块】

文章目录 &#x1f31f;前言&#x1f31f;Event事件模块&#x1f31f;EventEmitter类&#x1f31f;加载events模块&#x1f31f;实例化eventEmitter对象 &#x1f31f;事件方法列表&#x1f31f;使用事件&#x1f31f;异步与同步 &#x1f31f;写在最后 &#x1f31f;前言 哈喽…

ZLMeidiaKit实现推流时(FFmpeg推rtmp流)时非127.0.0.1被拒绝需要鉴权的解决方式

场景 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放: 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客 在上面搭建ZLMedia…

CE作业(3)

1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息&…

windows和linux上证书的增删查

文章目录 引言windows上对个人证书的增删查创建证书证书的查找证书的删除证书的安装 Linux上对个人证书的增删查创建证书证书的安装证书的查看证书的删除 Linux上对系统证书的增删查 引言 PS: 我之前看过《图解密码技术》&#xff0c;已经对证书这些概念有基本的了解&#xff…

Docker容器---dockerfile简介

Docker容器---dockerfile简介 一、dockerfile概念1、dockerfile介绍2、基于dockerfile创建3、docker镜像加载原理 二、镜像的创建1、基于现有镜像创建2、基于本地模板创建3、基于dockerfile创建 三、Dockerfile编写1、dockerfile操作指令&#xff08;1&#xff09;FROM 镜像&am…

9. 自注意力机制(Self-attention Part2)

P27 自注意力机制&#xff08;Self-attention Part2&#xff09; 视频链接 P27 自注意力机制&#xff08;Self-attention Part2&#xff09; 计算流程&#xff1a; Multi-head&#xff1a; 应用&#xff1a;

数据结构入门篇:第一篇

数据结构入门篇&#xff1a;第一篇 时间复杂度 数据结构入门篇&#xff1a;第一篇1.时间复杂度2.时间复杂度的练习总结 &#x1f914;首先&#xff0c;为什么要学数据结构&#xff1f; 数据结构的概念&#xff1a;在内存中对数据进行管理&#xff1b; 数据结构的学习能让我们在…

C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图

最终效果&#xff1a; V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720 如果显示不全&#xff0c;请把宽和高加大 字体加大。 首先&#xff0c;用windows画板生成一张1*1白色单色图作为标准&#xff0c;数据如下&#xff1a; 数据解析参考&#xff1a;BMP图像文件完…

【K8S系列】深入解析StatefulSet(二)

序言 那些看似不起波澜的日复一日&#xff0c;一定会在某一天让你看见坚持的意义。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器编排平…

用梯度下降的方式来拟合曲线

文章目录 1. 简述2. 理论原理以二次函数为例整体的梯度下降步骤&#xff1a; 3. 编码实现初始化权重矩阵计算损失和梯度更新权重 4. 结果首先对上一篇文章中的真实数据拟合。测试拟合高次曲线方程数据是2阶的&#xff0c;拟合方程是2阶的数据是4阶的&#xff0c;拟合方程也是4阶…

3年自动化测试(心路历程),从月薪10k到30k我经历了什么?

前言 2018年的时候&#xff0c;由于项目的原因&#xff0c;开始使用Robot Framework测试框架&#xff0c;正因为有Python的基础所以很快就理解了Robot Framework框架的工作原理&#xff0c;并可以根据项目的需要开发系统关键字。2019年随着移动App越来越流行&#xff0c;乘着换…