C语言猜数字小游戏

本文将介绍如何使用C语言写一个猜数字的小游戏

具体代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>// 显示游戏菜单
void menu()
{printf("****   猜数字游戏!   ****\n");printf("****   按1开始游戏   ****\n");printf("****   按0退出游戏   ****\n");
}// 游戏主体
void game()
{// 生成随机数int ret = rand() % 100 + 1;int num = 0;int cnt = 10; // 玩家的机会次数int sum = cnt; // 保存初始机会次数while (cnt > 0){printf("你还有%d次机会\n", cnt);printf("请输入一个1-100之间的数:");// 输入验证if (scanf("%d", &num) != 1 || num < 1 || num > 100){printf("输入错误,请重新输入一个1-100之间的数\n");while (getchar() != '\n');continue;}// 判断玩家输入与随机数的大小关系if (num > ret){printf("数字太大了!\n");}else if (num < ret){printf("数字太小了!\n");}else{printf("恭喜你猜对了!\n");printf("猜对用了%d次\n\n\n", sum - cnt + 1);return;}cnt--;}// 玩家机会用完,显示正确数字并结束游戏printf("你的机会用完了,游戏结束!\n");printf("正确的数字是%d\n\n\n", ret);
}int main()
{srand((unsigned int)time(NULL)); // 用系统时间初始化随机数种子int input = 0;do{menu(); // 显示菜单printf("请选择你需要的操作:");if (scanf("%d", &input) != 1 || (input != 0 && input != 1)){printf("输入错误,请重新输入!\n");while (getchar() != '\n');continue;}switch (input){case 1:game(); // 开始游戏break;case 0:printf("退出游戏!\n"); // 退出游戏break;}} while (input != 0);return 0;
}

 C语言实现这个小游戏可以帮助我们更好的理解和使用C语言中的基础知识,希望这篇文章可以帮带大家!

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

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

相关文章

数组?NO 系Vector啊!

文章目录 前言一、vector的介绍二、vector的使用2.1 vector求容量的用法2.2 vector的增删查改用法2.2.1 尾插2.2.2 尾删2.2.3 头插2.2.4 任意位置删除 2.3 vector的iterator是什么以及失效问题 三、vector的模拟实现3.1 成员变量3.2 成员函数3.2.1 构造函数3.2.2 拷贝构造3.2.3…

Elasticsearch桶聚合和管道聚合

1. 根据名称统计数量 GET order/_search {"_source": false,"aggs": {"aggs_name": { // 自定义查询结果名称"terms": { // 使用的函数"field": "name.keyword"}}} }查询结果例子&#xff1a; "aggregat…

一起学docker系列之十五深入了解 Docker Network:构建容器间通信的桥梁

目录 1 前言2 什么是 Docker Network3 Docker Network 的不同模式3.1 桥接模式&#xff08;Bridge&#xff09;3.2 Host 模式3.3 无网络模式&#xff08;None&#xff09;3.4 容器模式&#xff08;Container&#xff09; 4 Docker Network 命令及用法4.1 docker network ls4.2 …

MSSQL注入

目录 基本的UNION注入&#xff1a; 错误基于的注入&#xff1a; 时间基于的盲注入&#xff1a; 堆叠查询&#xff1a; 理解MSSQL注入是学习网络安全的一部分&#xff0c;前提是您在合法、授权的环境中进行&#xff0c;用于了解如何保护您的应用程序免受此类攻击。以下是有关…

【linux】/etc/security/limits.conf配置文件详解、为什么限制、常见限制查看操作

文章目录 一. limits.conf常见配置项详解二. 文件描述符&#xff08;file descriptor&#xff09;简述三. 为什么限制四. 相关操作1. 展示当前资源限制2. 查看系统当前打开的文件描述符数量3. 查看某个进程打开的文件描述符数量4. 各进程占用的文件描述符 /etc/security/limits…

大势智慧与四川资源测绘签署战略合作协议

战略合作 11月27日上午&#xff0c;武汉大势智慧科技有限公司&#xff08;后简称“大势智慧”&#xff09;和四川省自然资源测绘地理信息有限责任公司&#xff08;后简称“测绘公司”&#xff09;在成都成功签订战略合作协议&#xff0c;大势智慧董事长黄先锋&#xff0c;测绘…

SpringBoot进行消息推送的的几种方式

Spring Boot进行消息推送的几种方式包括&#xff1a; WebSocket SockJS STOMP Server-Sent Events (SSE) Push Notifications 以下是WebSocket的案例代码&#xff1a; 添加WebSocket依赖 <dependency><groupId>org.springframework.boot</groupId>&l…

Android Service中弹出对话框

背景 dialog 对话框只提供Activity上下文显示环境&#xff0c;但是很多时候需要在后台服务中显示对话框的场景&#xff0c;例如后台收到哪个反馈时&#xff0c;弹出对应的对话框提示用户。 解决方案&#xff1a; 1、添加权限&#xff1a; <!--services权限--> <uses…

博文小调研

感谢信 很高兴认识各位盆友&#xff0c;天南地北一家人&#xff01; 无论身在行业差异&#xff0c;所处职位高低&#xff0c;工作年限长短&#xff0c;这个平台都为爱好学习的人们提供了很好的机会和进步的源动力。 博主今年自11月份开启了新的系列文章&#xff0c;每周发表6…

c MJPG

yuv格式的照片是纯yuv的数据&#xff0c;如果不告诉图片查看程序此数据流的长与宽&#xff0c;是无法显示图片的。 MJPG是由多帧jpg图片组成。jpg图片有文件头&#xff0c;里面就有必须的长&#xff0c;宽数据。jpg的图片数据是yuv压缩后的数据。所以jpg解码后的数据也是yuv&a…

容器安全是什么

容器安全是当前面临的重要挑战之一&#xff0c;但通过采取有效的应对策略&#xff0c;我们可以有效地保护容器的安全。在应对容器安全挑战时&#xff0c;我们需要综合考虑镜像安全、网络安全和数据安全等多个方面&#xff0c;并采取相应的措施来确保容器的安全性。 德迅蜂巢原…

Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建

1. 下载 MySQL 源码 访问 MySQL 官方网站&#xff08;MySQL :: Download MySQL Community Server&#xff09;并下载 MySQL 8.0 的源码包&#xff08;mysql-boost-8.0.31.tar.gz&#xff09;。 2. 安装编译依赖 1&#xff09;更换镜像源 参考&#xff1a;Linux Ubuntu 修改…

java开发之个微群聊自动添加好友

请求URL&#xff1a; http://域名/addRoomMemberFriend 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId是String登录实例标识chatRoom…

20 Go的命令行参数

概述 在上一节的内容中&#xff0c;我们介绍了Go的时间日期&#xff0c;包括&#xff1a;time包、格式化日期、日期字符串解析、计算日期差、时区操作、定时任务等。在本节中&#xff0c;我们将介绍Go的命令行参数。命令行参数在程序设计中扮演着重要的角色&#xff0c;它允许用…

4个Pycharm高效插件

大家好&#xff0c;Pycharm是Python最受欢迎的集成开发环境之一&#xff0c;它具有良好的代码助手、漂亮的主题和快捷方式&#xff0c;使编写代码变得简单快捷。话虽如此&#xff0c;开发者仍可以通过使用一些插件来提高在Pycharm中编写Python代码的效率和乐趣&#xff0c;在市…

【【FPGA 之Micro Blaze的串口中断实验】】

FPGA 之Micro Blaze的串口中断实验 我们在使用 MicroBlaze 进行嵌入式系统设计的时候&#xff0c;通常会用到 AXI Uartlite IP 核与外部设备通信。AXI UART IP 核实现了 RS-232 通讯协议&#xff0c;并使得大家可以设置串口通信相关的波特率、奇偶校验位、停止位和数据位等参数…

前端OFD文件预览(vue案例cafe-ofd)

0、提示 下面只有vue的使用示例demo &#xff0c;官文档参考 cafe-ofd - npm 其他平台可以参考 ofd - npm 官方线上demo: ofd 1、安装包 npm install cafe-ofd --save 2、引入 import cafeOfd from cafe-ofd import cafe-ofd/package/index.css Vue.use(cafeOfd) 3、使…

数据可视化工具APITable:实现强大的多维表格功能并随时随地远程访问

APITable免费开源的多维表格与可视化数据库公网远程访问 文章目录 APITable免费开源的多维表格与可视化数据库公网远程访问前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c…

kubectl系列(五)-kubectl scale 命令最佳实践

1 概述 kubectl scale命令通过调整正在运行的容器的数量来立即缩放应用程序。这是增加部署副本数量的最快、最简单的方法&#xff0c;可用于应对服务高峰以及日常维护变更。 在本文中将了解如何使用kubectl scale来扩展一个简单的Kubernetes Deployment&#xff0c;同时还将更…

kobs-ng 烧写nand中的uboot

如何获取kobs-ng 我是使用buildroot自动编译的imx-kobs&#xff0c;生成了kobs-ng可执行文件。 使用 kobs-ng 烧写 u-boot 1. flash_erase /dev/mtd0 0 0 //擦除uboot所在分区 2. 挂载 debugfs mount -t debugfs debugfs /sys/kernel/debug 如果不挂载为报以下错误&#x…