📚 C3-10 导航: 课程学习 知识点回顾 随堂练习 课后拓展 代码填空 OJ练习 拓展解析

C3-10 阶段测试 - OJ练习题

陶老师C++课程 · 领航员OJ平台 · C3阶段综合复习(10基础+5进阶)

本节课核心知识点(C3阶段综合复习)

凯撒密码与字符加密、for循环与枚举法、一维数组基础、数组应用(查找/统计/去重/频率)、函数定义与调用、排序算法(sort/冒泡/降序)、排序应用(第K大/小)

凯撒密码 for循环/枚举 一维数组 数组查找/统计 函数定义调用 排序算法 排序应用
10道基础题
+5道进阶题
序号
题目ID
题目名称
难度
操作
1
L57
密码破解
入门
去做题
💡 思路:凯撒密码解密。读入加密字符串,每个字母按固定步数反向移位。小写字母减k位,超出'a'则绕回'z'。用 (c-'a'-k+26)%26+'a' 实现循环解密。
2
L151
鸡兔同笼问题
入门
去做题
💡 思路:经典枚举题。已知总头数和总脚数,枚举鸡的数量chicken从0到n,兔子数量=n-chicken,检查2*chicken+4*rabbit是否等于总脚数。
3
L237
找数组的最大数
入门
去做题
💡 思路:打擂台法求最大值。先假设第一个元素最大,然后遍历数组逐个比较,如果当前元素更大就更新最大值。
4
L244
陶陶摘苹果
入门
去做题
💡 思路:经典NOIP题。读入10个苹果高度,读入陶陶伸手高度(凳子+身高+30cm),统计有多少个苹果高度 <= 伸手高度。
5
L239
查找含有x的数
入门
去做题
💡 思路:顺序查找。读入n个数存入数组,遍历查找值为x的元素,找到输出下标,没找到输出-1。找到后用break退出循环。
6
L246
人数统计
入门
去做题
💡 思路:条件计数。读入人数和分数线,遍历每个成绩,统计大于等于分数线的人数。注意是>=不是>。
7
L256
去除重复数字
入门
去做题
💡 思路:双重循环去重。对每个元素a[i],检查它前面的所有元素是否有相同的。前面没出现过就是第一次出现,输出;否则跳过。
8
L260
求n个数中出现次数最多的数
入门
去做题
💡 思路:桶计数思想。用cnt数组统计每个数字出现的次数,然后遍历cnt找最大次数对应的数字。次数相同取较小的数。
9
T1051
分段函数
入门
去做题
💡 思路:函数封装练习。定义函数f(x),根据x的范围用if-else分段计算返回值。主函数读入x,调用f(x)输出结果。
10
L247
数组元素的排序
入门
去做题
💡 思路:sort函数基础题。读入n个数存入数组,用sort(a, a+n)升序排序,然后遍历输出。需包含<algorithm>头文件。
序号
题目ID
题目名称
难度
操作
1
G1021
[GESP202406三级] 移位-T1
普及-
去做题
💡 思路:GESP三级真题,凯撒密码加密。每个字母向后移k位,超出z则绕回a。用(c-'a'+k)%26+'a'实现循环移位。k可能大于26,先%26。
2
G1134
[GESP真题] 凯撒密码
普及
去做题
💡 思路:凯撒密码加密。读入明文字符串和移位量,对每个字母移位加密,非字母字符保持不变。大小写分别处理。
3
T1370
最小函数值
普及-
去做题
💡 思路:函数封装+枚举。定义二次函数f(x)=ax²+bx+c,枚举x从1到n,调用函数计算每个值,打擂台找最小值。注意用long long防爆。
4
L250
第K大与第K小数
普及-
去做题
💡 思路:排序后定位。sort升序排序后,第K小 = a[K-1],第K大 = a[n-K](下标从0开始)。
5
L261
缺失的数字
普及-
去做题
💡 思路:标记法找缺失。用bool数组标记哪些数出现过,然后遍历1到n找没被标记的数。也可以用求和法:总和减已有数之和。