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

C语言基础-练习:猜数字

C语言实现猜数字小游戏

猜数字游戏是C语言学习中一个经典而实用的练习项目,它不仅帮助我们掌握基本的 输入输出分支判断循环结构,还涉及 随机数的生成交互设计。今天我们就一步一步带你用C语言实现一个好玩的“猜数字”小游戏!

游戏规则

程序自动随机生成一个 1 到 100 之间的整数,玩家不断猜数字,程序提示“大了”或“小了”,直到猜中为止。猜中后可以选择是否再玩一局。

涉及知识点

  • #include 标准库头文件
  • 随机数生成:rand()srand() 以及 time(NULL)
  • 循环结构:whiledo-while
  • 条件判断:if-else
  • 用户输入:scanf()getchar()
  • 输入缓冲处理:避免输入错误导致程序逻辑中断

完整代码示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(void) {srand((unsigned int)time(NULL)); // 设置随机种子int secret, guess;char choice;do {secret = rand() % 100 + 1;  // 生成 1~100 的随机数printf("🎯 新游戏开始!我想了一个 1~100 的数字,请猜猜它是多少:\n");while (1) {printf("请输入你的猜测:");if (scanf("%d", &guess) != 1) {// 输入错误处理:不是整数while (getchar() != '\n'); // 清空输入缓冲区printf("❌ 输入无效,请输入一个整数!\n");continue;}if (guess > secret) {printf("📈 太大了,再试试!\n");} else if (guess < secret) {printf("📉 太小了,再试试!\n");} else {printf("🎉 恭喜你猜对了!答案是 %d!\n", secret);break;}}while (getchar() != '\n'); // 清空上次回车符printf("是否再来一局?(Y/N):");scanf("%c", &choice);} while (choice == 'Y' || choice == 'y');printf("游戏结束,欢迎再次挑战!👋\n");return 0;
}

📝 程序运行示例

image

📌 代码说明

部分 说明
srand(time(NULL)) 用当前时间作为随机种子,确保每次运行都有不同结果
rand() % 100 + 1 将随机数限制在 1~100 范围
do...while 循环 支持多轮游戏
scanf()getchar() 配合使用避免输入遗留问题
错误输入处理 如果输入不是数字,清空缓冲区防止死循环
http://www.sczhlp.com/news/1675/

相关文章:

  • 题解:CF1270G Subset with Zero Sum
  • BARRA CNE6
  • IMA-Appraisal 简单介绍
  • RoD-TAL:罗马尼亚驾照考试问答基准
  • @NotBlank、@NotEmpty、@NotNull
  • pid查询树形结构
  • 图像生成-连续性方程-09 - jack
  • 2.7 rt-thread meunconfig运行原理分析
  • Fats移植系列1
  • charles破解
  • MySQL面试题及详细答案 155道(001-020) - 指南
  • C语言基础-随机数
  • 教育 AI 大事件!OpenAI 深夜甩出 ChatGPT Study,免费当你 24 小时私人家教
  • C语言基础-循环语句(循环结构)
  • 题解:AT_agc066_c [AGC066C] Delete AAB or BAA
  • CF2120D Matrix game 题解
  • DP - 数据结构优化
  • P1163 银行贷款-二分
  • PyTorch基础
  • Gitee Wiki重塑关键领域软件开发的知识管理范式
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第08章:增加菱形、平行四边形、圆角矩形,文本居中显示
  • 题解:CF1458C Latin Square
  • 探究 AI 智能体:扣子空间的使用门槛与未来进化方向
  • CF1731D 题解
  • G. Unusual Entertainment 题解
  • 贪心
  • centos+stress-ng+cgroup完整压力测试方案
  • 2.6 rt-thread实操 SConstruct解析
  • mac配置hdc+adb环境
  • C# Avalonia 07 - LoadFromCommandLine