1 条题解

  • 0
    @ 2026-1-1 11:14:14

    这道题是 GESP202512 一级 的编程题目,名为《手机电量显示》,考查的是 多分支条件判断循环处理多组数据


    🧩 题目解析

    根据手机当前电量百分比 P P ,决定显示内容:

    条件 显示内容
    P10 P \leq 10 输出 R(红色警告)
    10<P20 10 < P \leq 20 输出 L(电量有点低)
    P>20 P > 20 输出具体的数字 P P

    输入包含 T T 组测试数据,每组一个整数 P P ,需对每组分别判断并输出。


    ✅ 解题步骤

    1. 读入数据组数 T T
    2. 循环 T T 次:
      • 读入当前电量 P P
      • 判断 P P 所在区间:
        • P10 P \leq 10 → 输出 "R"
        • 10<P20 10 < P \leq 20 → 输出 "L"
        • 否则 → 输出 P P 本身
    3. 每次输出后换行

    ✅ 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--) 是一种常见写法,表示执行 T T 次。
    • else if (P <= 20) 可以确保前一个条件已排除(即 P>10 P > 10 ),所以这里等价于 10<P20 10 < P \leq 20
    • 输出时注意换行,可以用 \nendl

    ✅ 总结

    这是一道典型的 多层条件判断 + 多组输入 的基础题,非常适合初学者练习:

    • if-else if-else 结构
    • 循环控制
    • 输入输出格式处理

    💡 提示:注意逻辑顺序!先判断最严格的条件(如 P <= 10),再逐步放宽。


    代码简洁、逻辑清晰,适合比赛使用!

    信息

    ID
    5643
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    38
    已通过
    13
    上传者