📌 在家怎么做本讲巩固:
① 先自己想思路
② 对照流程图检查
③ 去OJ平台敲代码
④ 输本讲密码对答案
下面的解题思路流程图 + 重难点提示可以直接看;参考答案代码需要输入本节课密码后在本页弹出。
1L57 密码破解
📚 覆盖知识点
字符加密、凯撒密码、ASCII码操作、字符循环移位
解题思路流程图
读入加密后的字符串
↓
逐字符读取,判断是大写还是小写字母
↓
按题目要求反向移位解密(减k位,超出范围绕回)
↓
输出解密后的字符串
⚠️ 需格外注意
- 字符加密本质是ASCII码的加减运算
- 移位移出范围要用%26绕回
- 注意大写和小写字母要分别处理,不要混在一起
2L151 鸡兔同笼问题
📚 覆盖知识点
枚举法、for循环、条件判断、经典数学问题
解题思路流程图
读入总头数n和总脚数m
↓
枚举鸡的数量chicken从0到n
↓
兔子数量rabbit = n - chicken
↓
判断 2*chicken + 4*rabbit 是否等于m
↓
满足条件则输出rabbit和chicken
⚠️ 需格外注意
- 枚举范围:鸡的数量从0到n即可
- 脚数条件:鸡2只脚,兔4只脚
- 题目可能有多组解,全部输出
9T1051 分段函数
📚 覆盖知识点
函数定义与调用、参数传递、返回值、if分支
解题思路流程图
定义分段函数f(x),函数内用if-else分段计算
↓
主函数读入x的值
↓
调用f(x),接收返回值
↓
输出结果
⚠️ 需格外注意
- 函数要有返回值类型(如int或double)
- 分段条件要写全,注意区间端点
- 函数定义在main之前,或在main前加函数声明
11G1021 [GESP202406三级] 移位-T1
📚 覆盖知识点
凯撒密码、字符移位、模运算、GESP三级真题
解题思路流程图
读入移位量k和字符串s
↓
k对26取余(k%=26)
↓
逐字符移位:(c-'a'+k)%26+'a'
↓
输出移位后的字符串
⚠️ 需格外注意
- 移位公式:(c - 'a' + k) % 26 + 'a' 实现循环移位
- 大写和小写字母要分别处理
- k可能大于26,先对26取余
12G1134 [GESP真题] 凯撒密码
📚 覆盖知识点
凯撒密码、字符加密、ASCII操作、GESP真题
解题思路流程图
读入明文字符串和移位量
↓
判断每个字符是大写还是小写字母
↓
按凯撒密码规则移位加密,非字母字符保持不变
↓
输出加密后的密文
⚠️ 需格外注意
- 非字母字符(空格、标点)保持不变,不要移位
- 大小写分别处理,注意大小写范围
- 移位移出范围用%26绕回
15L261 缺失的数字
解题思路流程图
读入n-1个数(1到n中缺少一个)
↓
用标记数组visited标记每个出现过的数
↓
遍历1到n,找没被标记的数
↓
输出缺失的数字
⚠️ 需格外注意
- 标记法:用bool数组记录哪些数出现过
- 数字范围是1到n,标记数组大小要够
- 也可以用求和法:1到n的和减去已有数的和