当前位置: 首页 > news >正文

C语言随机数小游戏

目录

前言

一、游戏要求:

二、游戏实现

1.游戏界面

2.游戏主体

3.主函数 

4.运行结果:

总结


前言

前面我们学到了C语言随机数的相关知识,我们今天用这个知识做一个有趣的小游戏,会有一点函数的知识,不过后面会讲;

一、游戏要求:

1. 电脑⾃动⽣成1~100的随机数;
2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束。

二、游戏实现

1.游戏界面

我们可以用printf()来实现游戏界面的打印:

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

2.游戏主体

我们可以在函数里加入一个变量count来限制我们输入的次数;

void game()
{int r = rand() % 100 +1;int guess = 0;int count = 5;while (count){printf("\n你还有%d次机会\n", count);printf("请输入数字》:");scanf("%d", &guess);if (guess < r){printf("猜小了\n");}else if (guess > r){printf("猜大了\n");}else{printf("恭喜了,猜中了\n");break;}count--;}if (count == 0){printf("你失败了,正确值是:%d\n", r);}
}

3.主函数 

考虑到我们要先打印菜单,在等待用户选择,所以我们这里使用do while语句:

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("游戏结束\n");break;default:printf("请重新输入\n");break;}} while (input);return 0;
}

4.代码示例:

void menu()
{printf("***********************\n");printf("********1.play*********\n");printf("********0.exit*********\n");printf("***********************\n");
}void game()
{int r = rand() % 100 +1;int guess = 0;int count = 5;while (count){printf("\n你还有%d次机会\n", count);printf("请输入数字》:");scanf("%d", &guess);if (guess < r){printf("猜小了\n");}else if (guess > r){printf("猜大了\n");}else{printf("恭喜了,猜中了\n");break;}count--;}if (count == 0){printf("你失败了,正确值是:%d\n", r);}
}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("游戏结束\n");break;default:printf("请重新输入\n");break;}} while (input);return 0;
}

4.运行结果:


总结

这章我结合了上一章的随机数知识,制作出了一个小游戏,我觉得,学习中也可以找到乐趣,不只是孩子,我们每个人都应如此;夏日炎炎,只为考研。

相关文章:

C语言随机数小游戏

目录 前言 一、游戏要求&#xff1a; 二、游戏实现 1.游戏界面 2.游戏主体 3.主函数 4.运行结果&#xff1a; 总结 前言 前面我们学到了C语言随机数的相关知识&#xff0c;我们今天用这个知识做一个有趣的小游戏&#xff0c;会有一点函数的知识&#xff0c;不过后面会…...

解决Ubuntu报“无法解析域名cn.archive.ubuntu.com“问题

今天在Ubuntu系统上&#xff0c;使用sudo apt update命令&#xff0c;进行更新时&#xff0c;弹出"无法解析域名 cn.archive.ubuntu.com"问题&#xff0c;如图(1)所示&#xff1a; 图(1) 弹出"无法解析域名 cn.archive.ubuntu.com" 错误 出现这种现象的原因…...

搭建pxe网络安装环境实现服务器自动部署

目录 配置 kickstart自动安装脚本 搭建dhcp服务 搭建pxe网络安装环境实现服务器自动部署 测试 配置 kickstart自动安装脚本 yum install system-config-kickstart #在rhel7做&#xff0c;rhel9要收费 system-config-kickstart #启动图形制作工具 vim …...

Go框架选战:Gin、Echo、Fiber的终极较量

Gin 优点: 高性能: 优化以处理高并发和低延迟请求。易于上手: 对于熟悉 Go 的开发者来说&#xff0c;API 设计直观&#xff0c;学习曲线低。社区支持强: 广泛使用&#xff0c;有大量第三方中间件和教程。 缺点: 相比于其他框架如 Echo&#xff0c;Gin缺乏内置的验证支持Gin…...

2024.8.08(python)

一、搭建python环境 1、检查是否安装python [rootpython ~]# yum list installed | grep python [rootpython ~]# yum list | grep python3 2、安装python3 [rootpython ~]# yum -y install python3 安装3.12可以使用源码安装 3、查看版本信息 [rootpython ~]# python3 --vers…...

RabbitMQ知识总结(基本原理+高级特性)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 基本原理 消息的可靠性投递 RabbitMQ 消息的投递路径为&#xff…...

字符串切割split

let obj {} let str "aa占比:17.48%,aa计费占比:0.00%" let arr str.split(,) // [aa占比:17.48%,aa计费占比:0.00%] arr.forEach(item > { let [key,value] item.split(:) obj[key] value }) console.log(obj) //{aa占比: 17.48%, aa计费占比: 0.00%} con…...

Python中的 `continue` 语句:掌握循环控制的艺术

Python中的 continue 语句&#xff1a;掌握循环控制的艺术 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通…...

AI安全新纪元:智能体驱动的网络安全新范式

近日&#xff0c;ISC.AI 2024第十二届互联网安全大会在北京盛大开幕。本次大会以"打造安全大模型&#xff0c;引领安全行业革命"为主题&#xff0c;旨在呼吁行业以大模型重塑安全体系&#xff0c;以保障数字经济的稳健发展。 在企业安全运营与策略实践论坛上&#x…...

c语言学习,isascii()函数分析

1&#xff1a;isascii() 函数说明&#xff1a; 检查参数c&#xff0c;是不是ASCI码字符 2&#xff1a;函数原型&#xff1a; int isascii(int c) 3&#xff1a;函数参数&#xff1a; 参数c&#xff0c;为检测ASCI码 4&#xff1a;返回值&#xff1a; 参数c为ASCII码字符&…...

DAMA学习笔记(十二)-数据质量

1.引言 数据管理能力包括为各类应用设计数据模型、安全存储和访问数据、适当地共享数据、从数据中获得知识&#xff0c;以及保障满足业务需求的能力等。但实现数据价值的前提是数据本身是可靠和可信的&#xff0c;换句话说&#xff0c;数据应是高质量的。 导致低质量数据产生的…...

查找项目中丢失脚本的物体

直接上代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO;namespace SimpleFrame.Tool {public class MissingScriptsToolWindow : EditorWindow{[MenuItem("工具/丢失脚本的物体列表")]pu…...

支付宝开放平台竟出现一张神秘人脸!

前言 ​ 我因一个单子来到支付宝开放平台来。在将其加入书签的时候&#xff0c;我发现出现了个神秘的人脸 一张笑容明媚的脸&#xff0c;就是出现的时候不太对 正常的收藏网址 应该是显示对应log 就不继续找相关例子了 ​ 添加书签的页面&#xff0c;本该出现log的地方缺出现了…...

每日学术速递8.8

1.Rethinking temporal self-similarity for repetitive action counting 标题&#xff1a;重新思考重复动作计数的时间自相似性 作者&#xff1a; Yanan Luo, Jinhui Yi, Yazan Abu Farha, Moritz Wolter, Juergen Gall 文章链接&#xff1a;https://arxiv.org/abs/2407.09…...

【JVM基础12】——垃圾回收-说一下JVM有哪些垃圾回收器?

目录 1- 引言&#xff1a;垃圾回收器2- ⭐核心&#xff1a;垃圾回收器详解2-1 串行垃圾回收器2-2 并行垃圾回收器2-3 CMS&#xff08;并发垃圾回收&#xff09;——主要作用在老年代 3- 小结3-1 说一下JVM有哪些垃圾回收器&#xff1f; 1- 引言&#xff1a;垃圾回收器 在 JVM …...

进阶学习------linux运维读写执行权限

进阶学习------linux运维读写执行权限 在UNIX和类UNIX操作系统中&#xff0c;文件权限是通过一组特定的数字来表示的&#xff0c;这些数字分为三组&#xff0c;分别对应于用户&#xff08;文件所有者&#xff09;、组和其他用户的权限。每组权限由三个二进制位表示&#xff0c;…...

视频循环存储的实现

目录 1. 三方工具 2. 视频存储的实现 2.1 分段存储 - 比如每15分钟 2.2 对齐到15分钟整边界 2.3 循环存储的实现 video_space_daemon.sh 3.封装 3.1 主执行程序&#xff0c;修订版 3.2 创建服务 3.3 service关联的执行脚本文件 4.额外的工作 附录A: ffmpeg视频存储…...

在centOS系统中使用docker部署Jenkins

1. 安装docker 1.1 下载Docker依赖组件 yum -y install yum-utils device-mapper-persistent-data lvm2 1.2 设置下载Docker的镜像源为阿里云 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 1.3 安装Docker服务 yum …...

Qt 将生成的exe文件自动复制到其它目录下

QT pro中加入文件拷贝方法_qt pro复制粘贴-CSDN博客 目标&#xff1a; 例如&#xff1a;在release模式下&#xff0c;exe文件生成于&#xff1a; "G:\test\build\release\shakeSensor.exe" 此时&#xff0c;我希望在生成该exe文件时&#xff0c; "G:\test\…...

openwrt下,用iptable转发端口访问远程的SMB服务

首先初步学习一下iptales的命令 iptales指令的详细教程&#xff1a;https://blog.csdn.net/weixin_44390164/article/details/120500075 实践一、转发地址与端口 外网远程服务上开放了SMB服务&#xff0c;端口号自定义的为44513&#xff0c;WINDOWS不能直接访问&#xff0c;…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...