C 语言猜数字小游戏完整实现(附带 8 次机会限制 + 菜单选择)(作业考试学习必备系列001) 一、项目简介本程序基于标准 C 语言开发无需依赖第三方库仅使用stdio.h、stdlib.h、time.h基础头文件实现经典猜数字小游戏。 程序封装菜单打印、游戏逻辑两大函数采用do-while循环实现菜单重复选择switch分支处理功能选项随机生成 0~100 之间的目标数字限制玩家最多 8 次猜测机会每次猜测给出偏大 / 偏小提示机会耗尽直接公布正确答案支持重复游玩、随时退出代码结构清晰适合 C 语言初学者练习函数封装、随机数、循环分支综合知识点。二、功能说明游戏主菜单程序启动后循环打印功能菜单提供两个选项1. 开始游戏、2. 退出程序输入非 1/2 数字会提示输入错误重新选择。随机数字生成通过srand((unsigned int)time(NULL))设置随机数种子保证每次运行生成不重复的 0~100 整数目标数字。猜数字核心逻辑限定玩家共有 8 次猜测机会输入数字与目标比对分别提示猜大 / 猜小并实时打印剩余次数猜对直接通关跳出循环次数归零则游戏失败输出正确数字循环游玩机制一局游戏结束后自动返回主菜单可再次开启新游戏选择 2 即可结束程序。三、核心技术点函数封装将菜单打印、游戏逻辑拆分为独立函数降低代码耦合可读性更高随机数生成time获取时间戳作为随机种子解决 rand () 固定序列问题循环嵌套外层do-while实现菜单常驻内层while(1)实现单局持续猜数分支判断switch处理菜单选项多层if-else判断猜测结果输入交互scanf实现控制台数字输入适配 Windows 编译器添加#define _CRT_SECURE_NO_WARNINGS消除 scanf 安全警告。四、运行环境编译器VS2013/VS2019/VS2022、Dev-C、CodeBlocks系统Windows#define _CRT_SECURE_NO_WARNINGS #includestdio.h #includestdlib.h #includetime.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; }