文章

【GESP】C++ 一级真题解析,[2025年12月,第十二次认证]第二题手机电量显示

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

第二题,手机电量显示

题目要求

题目描述

手机电量显示


题目分析

1. 核心逻辑

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

2. 区间判定规则

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

3. 实现细节

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


示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#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;
}

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

GESP 学习专题站:GESP WIKI

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

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

欢迎加入Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答

欢迎加入C++ GESP/CSP认证学习QQ频道,考试资源总结汇总

欢迎加入C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
本文由作者按照 CC BY-NC-SA 4.0 进行授权