📌 在家怎么做本讲巩固:
① 先自己想思路
② 对照流程图检查
③ 去OJ平台敲代码
④ 输本讲密码对答案
下面的解题思路流程图 + 重难点提示可以直接看;参考答案代码需要输入本节课密码后在本页弹出。
1Z1162 单词的长度
📚 覆盖知识点
字符串处理、cin自动分隔、size()函数、输出格式
解题思路流程图
用while(cin >> s)读入多个单词
↓
每个单词读入后直接输出 s.size()
↓
注意输出格式:每个长度后跟空格
↓
读完所有单词后结束
⚠️ 需格外注意
- cin >> s 自动按空格分隔单词,不需要手动split
- 用while循环持续读入,直到文件结束
- 输出格式:长度之间用空格分隔
2Z1243 密码翻译
📚 覆盖知识点
字符串遍历、字符替换、ASCII码运算、循环
解题思路流程图
用getline读入一整行字符串
↓
遍历每个字符:字母后移一位(z→a)
↓
非字母字符保持不变
↓
输出替换后的字符串
⚠️ 需格外注意
- z后移一位要变成a(循环),不是超出字母范围
- 区分大小写:小写z→a,大写Z→A
- 非字母字符(数字、符号、空格)不替换
8Z1099 大整数加法
📚 覆盖知识点
字符串、大整数、逐位相加、进位处理、reverse
解题思路流程图
读入两个大整数字符串a和b
↓
reverse反转两个字符串(低位在前)
↓
逐位相加:da+db+carry,存结果,更新carry
↓
最高位有进位则加一位,reverse后输出
⚠️ 需格外注意
- 大整数超过long long范围,必须用字符串存储
- 从低位(字符串末尾)开始相加,所以要先reverse
- carry进位:每一位相加后 carry = sum / 10
9Z1207 统计天数
解题思路流程图
读入y年m月d日
↓
判断闰年:2月=29天,平年2月=28天
↓
累加1月到m-1月的天数
↓
加上当月d天,输出总天数
⚠️ 需格外注意
- 闰年判断:(y%4==0 && y%100!=0) || y%400==0
- 每月天数:31,28/29,31,30,31,30,31,31,30,31,30,31
- 注意数组下标:days[1]=31(1月),不要搞错
10Z1203 比饭量
解题思路流程图
读入n个人的饭量到数组a
↓
对每个人i:数有多少人的饭量 > a[i]
↓
rank = 1 + 比a[i]大的人数
↓
按原顺序输出每个人的排名
⚠️ 需格外注意
- 排名 = 1 + 比你饭量大的人数
- 相同饭量排名相同(并列)
- 用双重循环:外层遍历每个人,内层数比他大的人数
13Z1234 找朋友
解题思路流程图
读入n个人的编号数组a[1..n]
↓
对每个人i:在数组中找值等于i的位置j
↓
找到后输出j
↓
所有人找完后输出
⚠️ 需格外注意
- 找朋友:a[j]=i表示第j个人的朋友是i,所以i的朋友是j
- 用双重循环:外层遍历每个人,内层查找
- 找到后要break,只输出第一个匹配