202512-手机电量显示

202512-手机电量显示

GESP C++ 2025年12月,一级真题第二题,考察分支语句应用,涉及到基础语句,比较简单。题目难度⭐☆☆☆☆。

第二题,手机电量显示

题目要求

题目描述

手机电量显示


题目分析

1. 核心逻辑

本题考察了 C++ 中的多分支选择结构if-else if-else)。我们需要根据手机剩余电量的百分比 PP,按照三个区间输出不同的结果。

2. 区间判定规则

  • 区间一P[0,10]P \in [0, 10]。输出字符 'R'(表示红色警报,Red)。
  • 区间二P(10,20]P \in (10, 20]。输出字符 'L'(表示低电量,Low)。
  • 区间三P(20,100]P \in (20, 100]。输出电量数字 PP 本身。

3. 实现细节

  • 多组数据:题目给出测试组数 TT,需要使用 while(T--)for 循环来处理每组输入。
  • 条件覆盖:使用 else if 可以简化逻辑,因为当前面的 p <= 10 不满足时,进入 else if 就已经隐含了 p > 10 的条件。
  • 数据范围:电量为百分比整数,使用 int 类型即可。

示例代码

#include <iostream>

/**
 * GESP 2025年12月 一级编程题 T2: 手机电量显示
 *
 * 题目核心:
 * 根据电量 P 进行分类显示:
 * 1. P <= 10: 显示 'R' (Red 警告)
 * 2. 10 < P <= 20: 显示 'L' (Low)
 * 3. P > 20: 直接显示数字 P
 */

int main() {
    int t;
    std::cin >> t;  // 读取测试数据组数

    while (t--) {
        int p;
        std::cin >> p;  // 读取当前电量百分比

        // 1. 电量非常低 (<= 10)
        if (p <= 10) {
            std::cout << "R" << std::endl;
        }
        // 2. 电量有点低 (10 < p <= 20)
        // 这里的 else if 隐含了 p > 10 的条件
        else if (p <= 20) {
            std::cout << "L" << std::endl;
        }
        // 3. 电量比较充足 (> 20)
        else {
            std::cout << p << std::endl;
        }
    }

    return 0;
}

本文由coderli.com原创,按照CC BY-NC-SA 4.0 进行授权

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP认证交流QQ群: 688906745

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
最后更新于