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

C 语言猜数字小游戏完整实现(附带 8 次机会限制 + 菜单选择)(作业考试学习必备系列001)

一、项目简介

本程序基于标准 C 语言开发,无需依赖第三方库,仅使用stdio.hstdlib.htime.h基础头文件,实现经典猜数字小游戏。 程序封装菜单打印、游戏逻辑两大函数,采用do-while循环实现菜单重复选择,switch分支处理功能选项,随机生成 0~100 之间的目标数字,限制玩家最多 8 次猜测机会,每次猜测给出偏大 / 偏小提示,机会耗尽直接公布正确答案,支持重复游玩、随时退出,代码结构清晰,适合 C 语言初学者练习函数封装、随机数、循环分支综合知识点。

二、功能说明

  1. 游戏主菜单程序启动后循环打印功能菜单,提供两个选项:1. 开始游戏、2. 退出程序;输入非 1/2 数字会提示输入错误,重新选择。
  2. 随机数字生成通过srand((unsigned int)time(NULL))设置随机数种子,保证每次运行生成不重复的 0~100 整数目标数字。
  3. 猜数字核心逻辑
    • 限定玩家共有 8 次猜测机会;
    • 输入数字与目标比对,分别提示猜大 / 猜小,并实时打印剩余次数;
    • 猜对直接通关,跳出循环;次数归零则游戏失败,输出正确数字;
  4. 循环游玩机制一局游戏结束后自动返回主菜单,可再次开启新游戏,选择 2 即可结束程序。

三、核心技术点

  1. 函数封装:将菜单打印、游戏逻辑拆分为独立函数,降低代码耦合,可读性更高;
  2. 随机数生成:time获取时间戳作为随机种子,解决 rand () 固定序列问题;
  3. 循环嵌套:外层do-while实现菜单常驻,内层while(1)实现单局持续猜数;
  4. 分支判断:switch处理菜单选项,多层if-else判断猜测结果;
  5. 输入交互:scanf实现控制台数字输入,适配 Windows 编译器,添加#define _CRT_SECURE_NO_WARNINGS消除 scanf 安全警告。

四、运行环境

  • 编译器:VS2013/VS2019/VS2022、Dev-C++、CodeBlocks
  • 系统:Windows
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<time.h> void hanshua() { printf("****************************\n"); printf("*********1.开始猜数字*******\n"); printf("*********2.退出游戏*********\n"); printf("****************************\n"); } void hanshub() { int shu = 0; srand((unsigned int)time(NULL)); shu = (0 + rand() % (100 - 0 + 1)); int jishu = 8; int cai = 0; while (1) { printf("请猜数字(0-100)\n"); scanf("%d", &cai); if (cai == shu) { printf("恭喜猜对了!\n"); break; } else if (cai > shu) { printf("猜大了!\n"); jishu--; printf("还剩%d次机会\n", jishu); } else { printf("猜小了!\n"); jishu--; printf("还剩%d次机会\n", jishu); } if (jishu == 0) { printf("机会用完,游戏失败,不愧是我干儿子,正确答案是:%d\n", shu); break; } } } int main() { int xuanze = 0; do { hanshua(); printf("请选择!\n"); scanf("%d", &xuanze); switch (xuanze) { case 1: hanshub(); break; case 2: { printf("游戏结束\n"); break; } default: printf("错误输入,请重新选择!\n"); break; } }while(xuanze!=2); return 0; }
http://www.jsqmd.com/news/1138581/

相关文章:

  • Claude偷改了你一行代码
  • 智能车越野组技术解析:环境感知、决策规划与运动控制
  • Redis集群模式深度对比:主从、哨兵与Cluster的工程选型指南
  • 国产AI编程助手合规实践指南:通义灵码、CodeGeeX等落地应用
  • TDengine RSMA — 时间维度的滚动预聚合
  • AI 时代架构师:转型成长路线图
  • 华为Met基于您提供的《Oracle EBS FA事务处理底层表数据字典》,我将为您构建一个专注于EBS FA资产模块智能查询的AI模型。这个模型的核心思想是:将结构化的数据字典转化为AI可以理解的领
  • iPhone 6 原理图设计规范解析:51页图纸中的5项专业标注与布局技巧
  • AI视频生成技术在游戏特效制作中的应用实践
  • CO2激光与UV激光钻孔对比:3种PCB基材成孔质量与效率实测分析
  • 2026前端最新八股文最新前端笔试题面试题ai基础入门知识题,开放题,场景题,15项面试真题 ,实战题,源码解析,面试题基础理论都有
  • 竞争存在论:存在的投影法则——三连续统框架下的认知与本质
  • sklearn 1.4+ 朴素贝叶斯3大分类器对比:GaussianNB vs MultinomialNB vs BernoulliNB 实战解析
  • postman写断言(assert)
  • 电脑的安装与卸载
  • 本地部署AI生图与视频生成:免费开源工具实战指南
  • RAG 重排序观测性:召回多不代表答案稳
  • 2026上半年Java面试真题汇总!
  • 终极Sketch设计转代码指南:用Marketch插件5步实现自动化HTML生成
  • 轮转数组三重解法精讲
  • 短剧译制成本结构横评:5款工具的翻译/配音/字幕费用占比
  • 怎样高效配置专业代码字体:提升开发体验的现代方案
  • 【SkyWalking从入门到精通】第09篇:SkyWalking安装全攻略——5分钟跑起来你的第一个APM系统
  • 题解:AcWing 1277 维护序列
  • 轻盈美学合规选品:机构与代理商应关注哪些方面
  • OPC公司如何提出好问题——在AI时代,“提问能力”是你唯一不可替代的竞争力
  • AI驱动的证券智能分析平台:架构设计与工程实践
  • d2s-editor:革新暗黑破坏神2存档编辑体验的可视化工具
  • YOLOv8猫狗品种识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置+目标检测)
  • Wan Video音乐伴舞功能:AI视频编辑与节奏分析技术详解