# 第11课:综合练习 ## 教学目标 - 混合题型训练,覆盖一二级核心知识点 - 查漏补缺,找到薄弱环节 - 提高解题速度和准确率 ## 核心考点:混合题的拆解与算法组合 ### 考什么 从综合题中识别多个________,为它们选择已经学过的代码模板并正确组合。 ### 必须理解 先把题目拆成“________→________→________”。看到“每个”常想到________;看到“最大/最小”想到________;看到“出现次数”想到________;看到“如果/否则”想到________。 ### 核心写法 ```text 1. 圈出输入、输出和________ 2. 把处理过程拆成若干________ 3. 为每个任务选择________ 4. 确定步骤顺序和________变量 5. 用样例与________值检查 ``` ### 常见错误 - 为什么不能读完题就立刻写代码?________________ - 下标、数值和次数混用会造成什么问题?____________ - 除了题目样例,还应测试哪些情况?________________ ### 判断是否掌握 - [ ] 我能写出输入—处理—输出结构。 - [ ] 我能把处理过程拆成小任务。 - [ ] 我能说明每一步使用的代码模板。 --- ## 题目一:成绩等级判断(分支 + 输入输出) ### 核心代码(一句话) > 多分支判断的核心:**`______` 链条**,从大到小或从小到大依次判断,每种情况一个分支。 ### 自然语言思路 ### 伪代码 ``` 1. 输入 score 2. if score >= 90: 输出 ______ 3. else if score >= 80: 输出 ______ 4. else if score >= 70: 输出 ______ 5. else if score >= 60: 输出 ______ 6. else: 输出 ______ ``` ### 真实代码 ```cpp ``` ### 注意点 --- ## 题目二:数组求最大值及下标(数组 + 循环 + 打擂台) ### 核心代码(一句话) > 带下标记录的打擂台:**用一个变量记______,另一个变量记______**,每次换擂主时两个一起更新。 ### 自然语言思路 ### 伪代码 ``` 1. 输入 n 2. 读入数组 arr[n] 3. maxVal = ______, maxIndex = ______ 4. for i = ______ 到 ______: 5. if arr[i] ______ maxVal: // 严格大于 6. maxVal = ______ 7. maxIndex = ______ 8. 输出 maxVal 和 maxIndex ``` ### 真实代码 ```cpp ``` ### 注意点 --- ## 题目三:字符串分类统计(string + 字符判断 + 多计数器) ### 核心代码(一句话) > 字符串分类统计的核心:**______ + 多分支判断 + 多个计数器**,每个 `if` 分支对应一个计数器。 ### 自然语言思路 ### 伪代码 ``` 1. ______ 读取字符串 s 2. cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0 3. for i = 0 到 ______: 4. if ______(s[i]): cnt1++ 5. else if ______(s[i]): cnt2++ 6. else if ______(s[i]): cnt3++ 7. else: cnt4++ 8. 输出四个计数结果 ``` ### 真实代码 ```cpp ``` ### 注意点 --- ## 限时练习(课堂完成) ### 练习组一(限时 30 分钟) 1. 输入两个数,输出较大的数 2. 输入 n,输出 n 的阶乘 3. 输入一个字符串,判断是否为回文 ### 练习组二(限时 30 分钟) 1. 输入 n 个数,求平均值 2. 找出 100 以内的所有素数 3. 输入一个正整数,输出它的逆序数 ### 练习组三(限时 30 分钟) 1. 输入年份,判断是否为闰年 2. 输入 n,打印左下直角三角形 3. 输入一个字符串,统计其中数字的个数 --- ## 解题技巧 ### 1. 仔细审题 ### 2. 先想后写 ### 3. 测试验证 ### 4. 时间管理 --- ## 常见错误检查清单 - [ ] 头文件是否包含 - [ ] `using namespace std;` 是否写了 - [ ] 变量是否初始化 - [ ] 数组下标是否越界 - [ ] 循环边界是否正确 - [ ] 输出格式是否正确 - [ ] 是否处理了边界情况 - [ ] 整数除法是否需要转浮点数 - [ ] string 输入是否用了 `getline`(含空格时) --- ## 课后作业 > 请完成本课对应的课后作业,见编程题文件。