说明
已知小 A 一月到十二月每月的成绩 (0 ≤ 成绩 ≤ 100),求出小 A 最后一次得到 ≥90 分的成绩的月份以及该月的成绩。题目保证至少有一次成绩是 ≥ 90 分的。
输入格式
第一行,输入 12 个正整数,代表一月到十二月的成绩。
输出格式
共一行,输出两个整数,表示小 A 最后一次得到 ≥ 90 分的成绩的月份和对应的成绩,中间使用一个空格隔开。
97 13 49 67 35 87 96 10 36 79 99 63
11 99
提示
本题的核心思路与例 5(数组元素查找 2)完全一致,即从后往前遍历数组。区别在于判断条件从“等于 x”变为“大于等于 90”。
- 数据范围:成绩为 0 到 100 之间的整数。
- 算法实现:
1. 将 12 个月的成绩读入数组 a(建议将数组大小定义为略大于 12,如 a[15])。
2. 从下标 11 到 0(对应十二月到一月)进行倒序遍历。
3. 当遇到 a[i] ≥ 90 时,输出月份 (i+1) 和成绩 a[i],并立即使用 break 语句跳出循环。这是查找“最后一次”满足条件项的关键。
- 下标注意:在程序中,数组下标从 0 开始,因此 a[0] 对应一月,a[11] 对应十二月。输出月份时需要将下标 i 转换为 i+1。
- 边界保证:题目已说明至少有一次合格成绩,因此无需考虑查找失败的情况。
来源
一维数组例题