C讲坛之猜数字游戏的实现

大家好,这次博主将一步步教大家如何用C语言实现简单的猜数字游戏

目标:猜数字游戏
要求:随机生成一个1~100的值
输入猜测值后,如果猜测值大于随机值,会提醒“猜大了”,如果小于测试值,会提醒“猜小了”,如果猜测正确,提醒“恭喜你,猜对了”,此时游戏结束,新的一轮游戏开始。

目录

  • 一.首先我们先设定一个基本框架
  • 二. 设定菜单menu函数和游戏game函数
    • 1. menu函数(打印菜单)
    • 2. game函数(猜游戏数字主体)
  • 三.猜数字游戏的最终实现

一.首先我们先设定一个基本框架

#define _CRT_SECURE_NO_WARNINGS 1
//vs编译器使用scanf函数防报错
#include <stdio.h>
int main()
{int input=0;do{menu();//设定一个生成菜单的函数printf("请选择:>");scanf("%d",&input);switch(input){case 1: game(); break;//设定game函数进行游戏//输入1开始游戏case 0: printf("退出游戏");break;//输入0退出游戏default:printf("选择错误");break; //输入其他的值会提醒选择错误 }}while(input);//用dowhile语句可以跳过判断语句直接生成菜单return 0;    
}

二. 设定菜单menu函数和游戏game函数

1. menu函数(打印菜单)

void menu()
{printf("********************************************\n");printf("***********        1.play       ************\n");printf("***********        0.exit       ************\n");printf("********************************************\n");
}

2. game函数(猜游戏数字主体)

C语言中使用rand函数生成随机数,关于rand函数的具体使用方法,我们可以借助MSDN上查询一下
在这里插入图片描述
在这里插入图片描述
由此我们可知rand函数的作用是生成一个随机数,并且调用这个函数需要头文件#include <stdlib.h>。并且从Remarks(注意)可得知,这个随机值的取值范围为0到RAND_MAX,那么问题来了,RAND_MAX的值又是多少呢?
在这里插入图片描述
我们在编译器上输入这个值然后按照上图所示的方法点击转到定义
在这里插入图片描述
可以看到#define定义的标识符常量RAND_MAX的值为0x7fff,这是一个十六进制的值,通过计算器转化为十进制的值为32767,所以rand函数的最大值为32767。再来看后半句话可知在调用rand之前,需要使用srand函数为伪随机数生成器设置种子,也就是说在使用rand函数之前需要使用srand函数。再次借助MSDN查找srand函数。
在这里插入图片描述
也就是说我们要给定srand函数一个值以让rand函数生成一个随机值,这时候似乎变的离谱了起来,我们想要生成一个随机值但又要每次给它设定一个随机值?那要怎么实现我们想要达到的效果呢?我们知道时间是无时无刻变化的,因此我们可以利用“时间”这个随机值,来充当srand函数里的seed。在这里我们需要引入“时间戳”这个概念

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
在这里插入图片描述

任何一个时间都可以转换成一个时间戳,而想要调用时间戳需要使用time函数,我们再次借助MSDN查询time函数。
在这里插入图片描述
由此我们可以得知使用time函数需要加上头文件#include <time.h>
于是我们可以得到猜数字游戏的主体game()

void game()
{int guess = 0;int r = rand()%100+1;//任何大于100的值%上100后的范围为0~99//+1以后的范围为1~100while (1){printf("请输入:>");scanf("%d", &guess);if (guess > r){printf("猜大了\n");}else if (guess < r){printf("猜小了\n");}else{printf("恭喜你 猜对了\n");break;}}
}

三.猜数字游戏的最终实现

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{printf("********************************************\n");printf("***********        1.play       ************\n");printf("***********        0.exit       ************\n");printf("********************************************\n");
}
void game()
{int guess = 0;int r = rand()%100+1;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("退出游戏");break;default:printf("选择错误");break;}} while (input);return 0;
}

(注意:要将srand((unsigned int)time(NULL))放到主函数里,如果放到game函数里可能会因为生成随机数过快导致不够随机即连续生成相同的随机值)

到这里,猜数字游戏就跟大家分享完啦,谢谢大家的支持呀!
(顺带一提,可以尝试再增加一个菜单来选择猜数字游戏的难度,自行设置猜数字的范围)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用c语言编写猜数字

要求&#xff1a;1自动产生一个1-100之间的数 2猜数字 a&#xff1a;猜对了&#xff0c;恭喜你游戏结束 b&#xff1a;你猜错了&#xff0c;会告诉猜大了&#xff0c;还是猜小了&#xff0c;然后继续猜 3游戏一直玩&#xff0c;除非退出游戏 解答&#xff1a; 通过分析我们可以…

用python实现猜数字游戏

✅作者简介&#xff1a;大家好我是hacker707,大家可以叫我hacker &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;python &#x1f4ac;推荐一款模拟面试、刷题神器&#x1f449;点击跳转进入网站 猜数字游戏 实现思路完整代码 结束语…

用python写一个猜数字小游戏

需要用到python的random库来随机生成一个需要用户猜的数字&#xff0c;之后判断用户输入的数字&#xff0c; 与生成的数字比较&#xff0c;并告知用户 先随机生成一个随机数 num random.randint(1, 49) # 随机生成一个1&#xff0c;49的数字 判断用户输入的数字 gues int…

运用Python实现猜数字游戏

一、猜数字猜数游戏是一个古老的密码破译类、益智类小游戏&#xff0c;通常由两个人参与&#xff0c;一个人设置一个数字&#xff0c;一个人猜数字&#xff0c;当猜数字的人说出一个数字&#xff0c;由出数字的人告知是否猜中&#xff1a;若猜测的数字大于设置的数字&#xff0…

手把手带你学会猜数字游戏代码编写

声明&#xff1a;因本人为非科班转码&#xff0c;个人水平有限&#xff0c;博客中难免有不准确之处&#xff0c;如有读者发现&#xff0c;本人恳请大家积极指出&#xff0c;本人也想知道自己的错误在哪里。欢迎大家一起指正&#xff0c;共同进步。 联系方式&#xff1a;314636…

用python,重温小时候猜数字大小游戏

目录 前言 一、猜数字实现思路 二、实例 代码&#xff1a; 效果&#xff1a; 解析&#xff1a; 三、总结 前言 游戏规则&#xff1a; 心里想一个0-100之间的数字&#xff0c;让用户猜&#xff0c;如果小了或者大了&#xff0c;就给予提示&#xff0c;直到用户猜到。 …

c语言那些有趣的事 -- 猜数字游戏

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章用循环去写一些题目。 让我们开启c语言…

python实现猜数字游戏

欢迎光临我的blog&#xff01;&#xff01;&#xff01;下面我将用python实现猜数字游戏。 用python实现猜数字游戏可以加深python初学者循环结构的理解和运用。 猜数字游戏规则如下&#xff1a; 电脑程序随机生成一个数字&#xff0c;作为猜数字游戏的最终答案&#xff0c;…

11行代码教你写一个猜数字游戏,妈妈再也不怕我无聊了

每次学完后总是可能忘掉或者一时记不起来所要用的东西&#xff0c;在网上找总是找不到自己要用的东西。或者给别人解释时太过麻烦&#xff0c;所以干脆发到csdn公开&#xff0c;一些好的文章或者程序早已年代久远或者不适用于现在的这个版本或许有更好的编写方法。 有时会写一些…

ChatGPT+Midjourney实现儿童绘本故事及其插图(数字1~10的故事)

团队模型、论文、博文、直播合集&#xff0c;点击此处浏览 一、背景 近期AI对话技术与AI绘画技术突飞猛进。其中1.&#xff09;AI对话技术是指用于模拟人类语言交流的人工智能技术。它可以让机器通过自然语言文本或语音与人类进行交流&#xff0c;并能理解人类的话语内容并做出…

服务异常:本地计算机上的服务启动后又停止。某些服务在未由其他服务或程序使用时将自动停止

1、安装服务成功之后启动服务报错&#xff0c;如下 2、主要问题还是代码报错&#xff0c;可以进入进入计算机管理器&#xff0c;选择&#xff1a;诊断-事件查看器-windows日志-应用程序&#xff0c;选择错误消息查看报错日志&#xff0c;如下 3、查看日志分析报错原因&#x…

解决Linux关闭终端(关闭SSH等)后运行的程序或者服务自动停止【后台运行程序】

转载自&#xff1a;https://www.cnblogs.com/bohaoist/p/4965103.html 问题描述&#xff1a;当SSH远程连接到服务器上&#xff0c;然后运行一个服务 ./catalina.sh start&#xff0c;然后把终端开闭&#xff08;切断SSH连接&#xff09;之后&#xff0c;发现该服务中断&#xf…

ChatGPT大封号,注册功能关闭!亚洲成重灾区!

来源&#xff1a;量子位&#xff08;ID:QbitAI &#xff09; 作者&#xff1a;明敏 萧箫 “不要登录ChatGPT&#xff01;” “暂时远离人工智能和ChatGPT概念板块高位股&#xff01;” 就在这两天&#xff0c;一些关于ChatGPT的疾呼突然在各种社交平台和群聊刷屏了。 而看到这…

突发 ChatGPT Plus停售?

现在&#xff0c;ChatGPT已不支持Plus付费了。 △ChatGPT截图 原因很简单&#xff1a;High demand。需求量太大&#xff0c;以至于OpenAI不得不暂停Plus的销售。 之后何时开放也没有明说。 前几天ChatGPT就因出现大规模封号引发热议&#xff0c;现在竟正儿八经地关闭了Plus…

突发!ChatGPT Plus停售!

Datawhale分享 最新&#xff1a;ChatGPT&#xff0c;来源&#xff1a;量子位 现在&#xff0c;ChatGPT已不支持Plus付费了。 △ChatGPT截图 需求量太大&#xff0c;地球上没有足够算力了&#xff1f; 原因很简单&#xff1a;High demand。需求量太大&#xff0c;以至于OpenAI不…

暂停更新,ChatGPT还能不能玩了

今天凌晨&#xff0c;一位网名anton的用户发推称&#xff1a;对GPT的需求如此之高&#xff0c;以至于现在新用户都无法升级到高级版了&#xff01; 注意&#xff1a;官网只是说暂停升级&#xff0c;不是永久停售Plus&#xff01; 一时间话题的焦点就引发到了“算力供应紧张”…

免费体验比ChatGPT更强大的AutoGPT

如果说chatgpt是汽车的话&#xff0c;那AutoGPT就是飞机 简单点说就是比chatGPT更进一步&#xff0c;AI自己上网、自己使用第三方工具、自己思考、自己操作你的电脑。执行设定的目标&#xff0c;直到完成。 不到3分钟搞定一个你想要的网站&#xff01; Auto GPT与ChatGPT对比…

对抗 ChatGPT,免费体验 Claude

对抗 ChatGPT&#xff0c;免费体验 Claude Claude 是 Anthropic 构建的大型语言模型&#xff08;LLM&#xff09;&#xff0c;对标ChatGPT。 Anthropic 创始团队多是前openai研究员和工程师&#xff0c;Claude 的特点是能够检测和回避ChatGPT的潜在陷阱&#xff0c;如逻辑错误…

都别吹牛逼了,2个英语指令简单评测便知ChatGPT、博弈Ai、文心一言、通义千问、讯飞星火真实水平

一、博弈Ai&#xff1a;GPT3.5版 演示&#xff1a;点此进入 1、充当英语发言助手 评分&#xff1a;10分 总结&#xff1a;完整满足了指令需求 2、充当英汉互译器 评分&#xff1a;8分 总结&#xff1a;基本满足了我的指令需求。但是有点啰嗦&#xff0c;扣2分 二、ChatGP…

博弈Ai官网ChatGPT能力真实测评

链接&#xff1a;点此进入&#xff08;基于ChatGPT4和3.5研发的智能聊天机器人国产镜像&#xff09; 一&#xff0c;博弈Ai的UI设计样式 1、博弈Ai&#xff08;ChatGPT&#xff09;白天模式 2、博弈Ai&#xff08;ChatGPT&#xff09;黑天模式 3、博弈Ai&#xff08;ChatGPT&a…