1 条题解
-
0
这道题是 GESP202512 一级 的编程题目,名为《手机电量显示》,考查的是 多分支条件判断 和 循环处理多组数据。
🧩 题目解析
根据手机当前电量百分比 ,决定显示内容:
条件 显示内容 输出 R(红色警告)输出 L(电量有点低)输出具体的数字 输入包含 组测试数据,每组一个整数 ,需对每组分别判断并输出。
✅ 解题步骤
- 读入数据组数
- 循环 次:
- 读入当前电量
- 判断 所在区间:
- 若 → 输出
"R" - 若 → 输出
"L" - 否则 → 输出 本身
- 若 → 输出
- 每次输出后换行
✅ C++ 完整代码(推荐)
#include <iostream> using namespace std; int main() { int T; cin >> T; while (T--) { int P; cin >> P; if (P <= 10) { cout << "R\n"; } else if (P <= 20) { cout << "L\n"; } else { cout << P << '\n'; } } return 0; }
🔍 示例验证
输入:
5 10 1 20 99 19处理过程:
P 判断 输出 10 ≤10 → R R 1 20 >10 且 ≤20 → L L 99 >20 → 输出99 99 19 >10 且 ≤20 → L L ✅ 输出为:
R R L 99 L与样例完全一致!
⚠️ 注意事项
- 使用
while(T--)是一种常见写法,表示执行 次。 else if (P <= 20)可以确保前一个条件已排除(即 ),所以这里等价于 。- 输出时注意换行,可以用
\n或endl。
✅ 总结
这是一道典型的 多层条件判断 + 多组输入 的基础题,非常适合初学者练习:
if-else if-else结构- 循环控制
- 输入输出格式处理
💡 提示:注意逻辑顺序!先判断最严格的条件(如
P <= 10),再逐步放宽。
✅ 代码简洁、逻辑清晰,适合比赛使用!
信息
- ID
- 5643
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 38
- 已通过
- 13
- 上传者