GESP 2023年3月 画三角形 题解|这题循环结构的坑一定要避开

发布时间:2026/10/18 13:22:47

GESP 2023年3月 画三角形 题解|这题循环结构的坑一定要避开 这道题是 GESP 2023年3月 的真题难度定位在 二级。别看它代码不长里面对循环结构的考查很到位我第一次做的时候也踩了坑。下面把完整思路梳理一遍。题目来源ACGO A46104 2023年3月 二级赛事场次2023年3月 二级一、题目信息题目名称画三角形赛事场次2023年3月 二级难度定位二级涉及知识点循环结构题目链接https://www.acgo.cn/problemset/info/46104坑点这题失分基本都在这循环三要素初值、条件、步进循环不变式。题意简述输入一个正整数 n请使用大写字母拼成一个这样的三角形图案参考样例输入输出三角形图案的第 1 行有 1 个字母第 2 行有 2 个字母以此类推在三角形图案中由上至下、由左至右依次由大写字母 A~Z 填充每次使用大写字母 Z 填充后将从头使用大写字母 A 填充。前置知识做题之前我们先把几个关键概念说清楚这样后面的代码才好理解。for 循环的标准写法for(int i1;in;i)表示 i 从 1 递增到 n每次循环体执行完 i 自动加 1。竞赛中我们习惯从 1 开始计数这样可以避免下标越界的麻烦。while 循环适合循环次数不确定的场景只要条件成立就一直执行写的时候一定要确保循环变量会被修改否则会死循环。二、思路分析先看清楚题目要我们做什么把题目读两遍我们提取出关键信息输入是什么、要输出什么、有哪些约束条件。这道题考查的是循环结构属于这类题里比较基础的一道把题目要求一步步翻译成代码逻辑就能解决。我的思考过程读完题之后我的第一反应是这样的【题目大意】输出一个 n 行的大写字母递增的三角形大写字母递增到 Z 后下一个回到 A 重新开始递增。【考纲知识点】基本运算一级 循环结构、ASCII 码、数据类型转换二级【解题思路】先把 A,B,C… Z 这些大写字母看作 0,1,2… 25借助 for 循环嵌套输出数字三角形将三角形中需要输出的数在输出时转换为大写字母输出将数转换为大写字母时加上 %26确保输出到 Z 之后下一个字符为 A。这里也可以使用分支语句在需要输出的数超过 25 时将其修改为 0 从而实现 0~25 的循环输出。【参考程序】需要说明的是上面这个思路是把题目要求直译成代码得到的没有用到什么高级技巧。对于这类基础题读准题意加写对边界比追求巧妙解法更重要因为考试里这种题是必须拿满分的。三、完整代码 逐行注释#include iostream using namespace std; int main() { int n; cin n; // 读入 int ch 0; //定义 ch 计数 for (int i 1; i n; i) { //外层循环三角形共有 n 行 for (int j 1; j i; j) { // 遍历 //第一步可以在此处输出 ch确保三角形的格式正确再考虑将 ch 转换成对应的大写字母 cout (char)(A (ch) % 26); //将输出的数转换为大写字母 } cout endl; // 输出 } return 0; }四、代码分段拆解为了看得更清楚我们把代码按功能分成几段解释。第一步引入头文件#include iostream using namespace std;#include iostream提供输入输出功能using namespace std;让我们能直接写cin、cout而不用加前缀。这两行是几乎所有 C 程序的开头照写即可。第二步读入数据cin n;注意变量的类型要能装下题目的数据。数据可能超过 21 亿时要改用long long。第三步核心处理逻辑for (int i 1; i n; i) { //外层循环三角形共有 n 行 for (int j 1; j i; j) {这一段是整道题的关键也是循环结构的体现。看循环的三个要素从哪里开始、什么时候结束、每次怎么变化。这三个要素任何一个写错结果都会不对。第四步按要求输出cout (char)(A (ch) % 26); //将输出的数转换为大写字母 cout endl;输出格式必须和题目要求的完全一致。很多同学算法完全正确却因为少了一个换行或者空格多寡不对而 WA这种分丢得最可惜。五、实例模拟把样例代进去手动模拟一遍思路会更清晰。以题目的第一组样例为例样例输入3样例输出A BC DEF把这份输入代进代码程序会先把数据依次读入然后进入循环逐个判断把满足条件的值累积起来最后按格式输出。建议你对照着代码在纸上走一遍前两次循环确认自己对每一步的理解都和程序一致。题目另外还给了 1 组样例做完之后建议把剩下的样例都跑一遍全部通过再提交能避开大部分边界问题。六、踩坑总结下面是做这道题时最容易出错的地方对照自己的代码检查一下变量类型选错虽然本题范围不大但养成习惯——凡是不确定范围时累加变量一律用long long成本为零但能保命。循环起点搞错题目说的是「正整数」循环要从 1 开始而不是从 0 开始差一个数就是 WA。输出格式不符题目要求输出几行就输出几行行末换行、数字之间的空格都要严格对齐算法对了但格式错了同样判 WA这种分丢得最冤。特殊情况没特判把最小数据、最大数据、答案恰好等于 0 的情况各测一遍。特别是边界输入出题人最喜欢在这里设陷阱。七、知识点拓展把这题的经验提炼一下以后遇到同类题可以直接套用本题考查循环结构的基本写法这类题在考试中属于必得分项要练到能默写。写完代码后建议自己造几组边界数据测试特别是最小值和最大值。同一知识点在不同场次反复出现把这道题的写法吃透后面遇到同类题可以直接套用。八、适用人群适合正在备考 二级、想确认自己循环结构基础是否扎实的同学。如果这篇题解对你有帮助欢迎点赞收藏。后续我会继续按场次整理 2023年3月 二级 的真题关注我可以第一时间看到更新。有更好的写法也欢迎在评论区交流。
延伸阅读

更多相关文章

2026/10/18 13:22:47

AI医院国际智联体共识全解析:从统一定义到四步落地路径

1. 从概念炒作到有据可依:AI医院为什么需要一份“国际定义”这几年只要跟“AI医疗”沾边的项目,几乎都在讲智慧医院、数智医院、无人医院。你去参加行业会议,十个演讲者里至少八个会放一张“AI赋能全院”的架构图,底下一水的算力层…

2026/10/18 13:22:47

PyTorch从零实现Transformer机器翻译全链路

简介:这是一份面向深度学习初学者与NLP实践者的Transformer机器翻译项目实战资源,聚焦中译英任务,提供从模型构建、数据预处理到推理部署的完整实现链路。资源包含14个文件,涵盖6个核心Python脚本(如train_model.py、m…

2026/10/18 13:22:47

类锁与对象锁的致命区别揭秘

4. 现在的人直接看懂的普通话书面语来说, 同步加锁的是对象, 而不是代码部分。因此, 当你的类里面存在一个同步方法的时候, 这个方法有可能被两个完全不同的线程同时执行。实现这种情况的前提条件是, 每一个线程都必须自己创建一个这个类的实例,也就是每个线程持有的并不是同一…

2026/10/18 15:53:23

接口测试实战指南:从用例设计到自动化落地全梳理

接口测试这东西,说实话,很多团队是"看起来在做,实际上没做透"。我在日常的测试工作里见过太多这样的情况:UI 测了半天,结果是前端把后端返回的错误信息包了一层好看的弹窗,接口本身返回 500 都没…

2026/10/18 15:53:23

spline-3d-integration - COMMON_PROBLEMS

常见问题与调试 这些是集成后才会浮出水面的实际问题。在完成任何 Spline 实现之前请阅读此内容。🚨 关键陷阱(会让你的网站崩溃)1. 滚动劫持 — 页面无法滚动 现象: 添加 Spline 后,整个页面停止滚动。用户被卡住。 原…

2026/10/18 15:53:23

spline-3d-integration - SKILL

name: spline-3d-integration description: “Use when adding interactive 3D scenes from Spline.design to web projects, including React embedding and runtime control API.” risk: safe source: community date_added: “2026-03-07” Spline 3D 集成技能 将 Spline…

2026/10/18 15:53:23

sql-injection-testing - SKILL

name: sql-injection-testing description: “Execute comprehensive SQL injection vulnerability assessments on web applications to identify database security flaws, demonstrate exploitation techniques, and validate input sanitization mechanisms.” risk: offen…

2026/10/18 15:53:23

speed - SKILL

name: speed description: Launch RSVP speed reader for text trigger: command risk: critical source: community tools: Write, Bash, Read 速读器 启动 RSVP 速读器,一次显示一个单词,并带有 Spritz 风格的 ORP(最佳识别点)高…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/18 0:01:50

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑