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

GESP2023年6月认证C++三级( 第三部分编程题(1、春游))


一、🎒 故事背景:春游点名危机!

👩‍🏫老师带着同学们去春游啦!

班上有n 个同学,每个人都有一个编号:

0, 1, 2, 3, ..., n-1

到了集合时间,老师开始点名!

但是……😵
有的同学很调皮:

👉 有人会重复报名字
👉 有人根本没来!

老师着急地说:

“谁没到?快帮我找出来!”


二、🧠 我们的任务

👉 输入:

  • n(总人数)

  • m(报数次数)

  • m 个编号(谁喊了名字)

👉 输出:

  • 如果全来了👉 输出 n

  • 否则 👉 输出没来的同学编号(从小到大)


三、🏗️ 思路(用故事理解!)

1、🌟 第一步:准备“签到本”

我们准备一个数组:

bool arrive[1000];

🎯含义:

👉 arrive[i] = false 👉 同学 i 还没来
👉 arrive[i] = true 👉 同学 i 已经到了


2、🌟 第二步:初始化(全部没来)

for (int i = 0; i < n; i++) arrive[i] = false;

🧠就像老师说:

“我先假设大家都没到!”


3、🌟 第三步:听同学报数

for (int i = 0; i < m; i++) { int code; cin >> code; arrive[code] = true; }

🎯意思:

👉 谁报名字,就标记为“来了”

就算有人喊了 10 次:

👉 还是只算来了一次 ✔


4、🌟 第四步:检查谁没来

bool all = true; for (int i = 0; i < n; i++) { if (!arrive[i]) { // 说明没来 } }

🧠我们一个个检查:

👉 “0号来了吗?”
👉 “1号来了吗?”
👉 ……


5、🌟 第五步:输出结果

🎯情况1:有人没来

if (!arrive[i]) { cout << i; }

👉 输出没来的编号


🎯情况2:全来了!

if (all) cout << n;

🎉输出总人数 n!


四、💻 参考代码

#include <iostream> using namespace std; bool arrive[1000]; int main() { int n, m; cin >> n >> m; // 初始化:全部没来 for (int i = 0; i < n; i++) arrive[i] = false; // 记录报到 for (int i = 0; i < m; i++) { int code; cin >> code; arrive[code] = true; } // 检查谁没来 bool all = true; for (int i = 0; i < n; i++) { if (!arrive[i]) { if (all) { cout << i; all = false; } else { cout << " " << i; } } } // 如果全来了 if (all) cout << n; cout << endl; return 0; }

五、🎯 举个例子(加深理解)

1、🌟输入:

3 5 0 0 0 0 0

👉 只有 0号一直喊 😂


2、🧠分析:

同学状态
0来了
1❌没来
2❌没来

3、🎯输出:

1 2

六、🏆 知识点总结

✨ 用数组记录状态
✨ 去重(重复报数不影响)
✨ 遍历检查
✨ 条件输出
✨ 模拟真实问题


http://www.jsqmd.com/news/705290/

相关文章:

  • 司拉德帕seladelpar治原发性胆汁性胆管炎每天吃一次还是分两次,出现肌痛时要不要减量?
  • 《Windows Internals》10.2.11 学习笔记:虚拟服务账户(The Virtual Service Account)——为什么 Windows 服务不再只依赖普通账号?
  • 成都短视频制作运营哪家好?本地优质服务商精准推荐 - 企业推荐师
  • 5分钟快速上手:崩坏星穹铁道自动化工具StarRailCopilot终极指南
  • 封神!广州靠谱废品/废旧金属回收TOP5,凭1个细节圈粉,回收后还帮你保洁场地 - 广州搬家老班长
  • C C++指针的优缺点,如何理解指针的灵活性
  • 2026年3月有实力洗涤机供应商口碑推荐分析,专业的洗涤机企业甄选实力品牌 - 品牌推荐师
  • 天赐范式第23天:深研AI算子化“精准高效多级流水线”工艺,打造MOF引擎叩门化学界!
  • Dockerfile系列(二) 镜像分层与缓存-为什么你的构建这么慢
  • GESP2023年6月认证C++三级( 第三部分编程题(2、密码合规检测))
  • 从TTL到免拆:详解海信IP108H盒子S905L2芯片三种刷机方式的原理与选择
  • APL:几近完美的编程语言,兼具法式韵味与独特魅力!
  • 《Windows Internals》10.2.12 学习笔记:交互式服务与 Session 0 隔离——为什么现代 Windows 服务不能再直接弹窗到桌面?
  • RimSort:RimWorld模组管理的智能管家,告别模组冲突与加载混乱
  • 海口攻略新
  • Arcana:Elixir原生嵌入式RAG库,一体化智能检索与生成方案
  • 从AI智能体到PPT自动化:TrainPPTAgent项目深度解析与实践指南
  • io_uring 凭什么比 epoll 快——从共享环形缓冲区到内核线程池,拆解零拷贝提交的3层设计
  • HSTracker:macOS炉石传说智能套牌追踪器完整指南
  • Dockerfile系列(三) 多阶段构建-告别镜像obesity
  • E-Hentai漫画下载器终极教程:5步轻松批量下载完整漫画合集
  • ARM处理器预取与分支预测技术解析
  • Onekey:一键自动化获取Steam Depot清单的终极解决方案
  • 3步解锁:让任天堂控制器在Windows上重获新生的终极兼容方案
  • 天赐范式第23天:数理化炼金术公式效验器技术确权报告——原数学毒丸公式效验器升级
  • 小型语言模型(SLM)实战:高效部署与成本优化指南
  • 《Windows Internals》10.2.14 学习笔记:网络驱动器盘符通知——为什么盘符变了,系统和应用必须“知道”?
  • 线性代数在机器学习中的应用与学习资源指南
  • 2026年如何部署Hermes Agent/OpenClaw?萌新部署及token Plan配置解析
  • 使用 VS code + Oracle java 插件搭建java语言原生的notebook环境