2025年12月GESP(C++一级): 手机电量显示
题目描述
小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为P PP:
- 当电量非常低(不超过 10,即P ≤ 10 P \leq 10P≤10),它会显示一个大写字母 R,就像在说:“快给我充电吧!(Red 警告色)”
- 当电量有点低(超过 10 但不超过 20,即10 < P ≤ 20 10 < P \leq 2010<P≤20),它会显示一个大写字母 L,意思是“电量有点 Low 啦!”
- 当电量比较充足(超过 20,即P > 20 P > 20P>20),它就会直接显示具体的数字,比如直接显示 50,表示还有 50 的电量。
输入格式
第一行一个正整数T TT,代表数据组数。
对于每组数据,一行包含一个正整数P PP,代表手机电量百分比。
输出格式
对于每组数据,输出一行,代表当前手机显示的电量信息。
输入输出样例 1
输入 1
5 10 1 20 99 19输出 1
R R L 99 L说明/提示
样例解释
输入样例 1 共有五组数据:
- 第一组数据手机电量P = 10 P = 10P=10,满足P ≤ 10 P \leq 10P≤10,电量非常低,显示 R。
- 第二组数据手机电量P = 1 P = 1P=1,满足P ≤ 10 P \leq 10P≤10,电量非常低,显示 R。
- 第三组数据手机电量P = 20 P = 20P=20,满足10 < P ≤ 20 10 < P \leq 2010<P≤20,电量有点低,显示 L。
- 第四组数据手机电量P = 99 P = 99P=99,满足P > 20 P > 20P>20,电量比较充足,直接显示具体的数字99 9999。
- 第五组数据手机电量P = 19 P = 19P=19,满足10 < P ≤ 20 10 < P \leq 2010<P≤20,电量有点低,显示 L。
数据范围
对于所有测试点,保证1 ≤ T ≤ 20 1 \leq T \leq 201≤T≤20,1 ≤ P ≤ 100 1 \leq P \leq 1001≤P≤100。
思路分析
这是一个典型的条件判断问题。根据不同的电量百分比范围,输出不同的显示内容:
- P ≤ 10:显示"R"(红色警告)
- 10 < P ≤ 20:显示"L"(低电量)
- P > 20:显示具体的电量数值
1. 输入处理
- 程序首先读取数据组数
t - 然后循环
t次,每次读取一个电量百分比p
2. 逻辑判断流程
- 第一层判断:
p <= 10- 符合条件:输出"R"
- 不符合:进入下一层判断
- 第二层判断:
p <= 20- 注意:由于第一层已经排除了
p<=10的情况,这里实际上是10 < p <= 20 - 符合条件:输出"L"
- 不符合:进入else分支
- 注意:由于第一层已经排除了
- 第三层(else):
p > 20- 直接输出电量数值
代码实现
#include<bits/stdc++.h>usingnamespacestd;intt,p;// 定义全局变量:t(数据组数), p(电量百分比)intmain(){cin>>t;// 读入数据组数// 循环处理每组数据while(t--){cin>>p;// 读入当前组的电量百分比// 条件判断if(p<=10){// 电量非常低(≤10):显示Rcout<<"R"<<endl;}elseif(p<=20){// 电量有点低(10<P≤20):显示L// 注意:由于第一个if已经处理了p≤10的情况,// 所以这里实际上是10<p≤20的情况,当然你也可以显示的写出来完整的条件cout<<"L"<<endl;}else{// 电量充足(>20):直接显示数值cout<<p<<endl;}}return0;// 程序正常结束}功能分析
1. 关键逻辑
- 使用多分支结构:if - else if - else
2. 样例验证
对于题目给出的样例:
输入: 5 10 → 输出:R (p=10 ≤10) 1 → 输出:R (p=1 ≤10) 20 → 输出:L (10<20≤20) 99 → 输出:99 (p=99>20) 19 → 输出:L (10<19≤20)各种学习资料,助力大家一站式学习和提升!!!
#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}- 一、CSP信奥赛C++通关学习视频课:
- C++语法基础
- C++语法进阶
- C++算法
- C++数据结构
- CSP信奥赛数学
- CSP信奥赛STL
- 二、CSP信奥赛C++竞赛拿奖视频课:
- 信奥赛csp-j初赛高频考点解析
- CSP信奥赛C++复赛集训课(12大高频考点专题集训)
- 三、考级、竞赛刷题题单及题解:
- GESP C++考级真题题解
- CSP信奥赛C++初赛及复赛高频考点真题解析
- CSP信奥赛C++一等奖通关刷题题单及题解
详细内容:
1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):
https://edu.csdn.net/lecturer/7901 点击跳转
2、CSP信奥赛C++竞赛拿奖视频课:
https://edu.csdn.net/course/detail/40437 点击跳转
3、csp信奥赛冲刺一等奖有效刷题题解:
CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转
- 2025 csp-j 复赛真题及答案解析(最新更新)
- 2025 csp-x(山东) 复赛真题及答案解析(最新更新)
- 2025 csp-x(河南) 复赛真题及答案解析(最新更新)
- 2025 csp-x(辽宁) 复赛真题及答案解析(最新更新)
- 2025 csp-x(江西) 复赛真题及答案解析(最新更新)
- 2025 csp-x(广西) 复赛真题及答案解析(最新更新)
- 2020 ~ 2024 csp 复赛真题题单及题解
- 2019 ~ 2022 csp-j 初赛高频考点真题分类解析
- 2021 ~ 2024 csp-s 初赛高频考点解析
- 2023 ~ 2024 csp-x (山东)初赛真题及答案解析
- 2024 csp-j 初赛真题及答案解析
- 2025 csp-j 初赛真题及答案解析(最新更新)
- 2025 csp-s 初赛真题及答案解析(最新更新)
- 2025 csp-x (山东)初赛真题及答案解析(最新更新)
- 2025 csp-x (江西)初赛真题及答案解析(最新更新)
- 2025 csp-x (辽宁)初赛真题及答案解析(最新更新)
CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转
- 129 道刷题练习和详细题解,涉及:模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图
4、GESP C++考级真题题解:
GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转
GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转
· 文末祝福 ·
#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}