CCF GESP 2025年12月认证 C++ 1级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
小杨的爱心快递
时间限制:1s 内存限制:512MB

题目描述

小杨是“爱心社区”的小志愿者,每周他都会帮助邻居们寄送捐赠给山区小学的文具和书籍。快递公司为了支持公益行动,制定了特殊的运费规则,鼓励大家合理包装:

假设快递的体积为 $V$,重量为 $G$。

  • 按体积计算:运费按体积计算,公式是 $0.5×V$ 元。
  • 按重量计算:为了鼓励减轻包裹重量,规则是:当重量小于 300 克,即 $G<300$ 时,运费为 $M$ 元;当重量达到或超过 300 克,即 $G≥300$ 时,运费为 $N$ 元。

快递公司的叔叔说:“我们应该选择最公平合理的计费方式。”

所以,最终的运费会取按体积计算和按重量计算这两种方式中价格较低的那一个,这样对寄件人最公道。

输入格式

四行,每行一个一位小数的浮点数,分别代表,快递的体积 $V$,快递的重量 $G$,第一档重量运费 $M$,第二档重量运费 $N$。

输出格式

一行一个一位小数,代表实际快递运费。

样例说明

样例 1

输入:
100.4
300.2
60.6
70.5
输出:
50.2
样例解释:

对于样例 1:快递体积 V 为 100.4,重量 G 为 300.2,第一档重量运费 M 为 60.6,第二档重量运费 N 为 70.5。

  • 若按体积收费,费用为 0.5x100.4 = 50.2;
  • 若按重量收费,由于重量 G=300.2 超过 300,费用为 70.5。

输出价格较低的 50.2。

样例 2

输入:
99.8
200.9
60.2
70.1
输出:
49.9
样例解释:

对于样例 2:快递体积 V 为 99.8,重量 G 为 200.9,第一档重量运费 M 为 60.2,第二档重量运费 N 为 70.1。

  • 若按体积收费,费用为 0.5x99.8 = 49.9;
  • 若按重量收费,由于重量 G=200.9 小于 300,费用为 60.2。

输出价格较低的 49.9。

数据范围

对于所有测试点,保证给出的浮点数不超过1000。

第 2 题
手机电量显示
时间限制:1s 内存限制:512MB

题目描述

小杨的手机就像一个聪明的小助手,当电量变化时,它会用不同的方式来提醒我们,假设当前的电量百分比为 P:

  • 当电量非常低( 不超过 10,即 P≤10 ),它会显示一个大写字母 R,就像在说:“快给我充电吧!(Red 警告色)”
  • 当电量有点低( 超过 10 但不超过 20,即 10<P≤20 ),它会显示一个大写字母 L,意思是“电量有点 Low 啦!”
  • 当电量比较充足( 超过 20,即 P>20 ),它就会直接显示具体的数字,比如直接显示 50,表示还有 50 的电量。

输入格式

第一行一个正整数 T,代表数据组数。对于每组数据,一行包含一个正整数 P,代表手机电量百分比。

输出格式

对于每组数据,输出一行,代表当前手机显示的电量信息。

样例说明

样例 1

输入:
5
10
1
20
99
19
输出:
R
R
L
99
L
样例解释:

输入样例 1 共有五组数据:

  • 第一组数据手机电量 P=10,满足 P≤10,电量非常低,显示 R。
  • 第二组数据手机电量 P=1,满足 P≤10,电量非常低,显示 R。
  • 第三组数据手机电量 P=20,满足 10<P≤20,电量有点低,显示 L。
  • 第四组数据手机电量 P=99,满足 P>20,电量比较充足,直接显示具体的数字 99。
  • 第五组数据手机电量 P=19,满足 10<P≤20,电量有点低,显示 L。

数据范围

对于所有测试点,保证 1 ≤ T ≤ 20,1 ≤ P ≤ 100。

编程题部分已到底了。