202512-小杨的爱心快递
GESP C++ 2025年12月,一级真题第一题,考察循环语句应用,涉及到基础语句,相对比较简单。题目难度⭐☆☆☆☆。
第一题,小杨的爱心快递
题目要求
题目描述

题目分析
1. 核心逻辑
本题要求在两种不同的计费方式中选择最便宜的一种。这考察了基本的变量定义、条件判断(if-else)以及格式化输出。
2. 计算步骤
- 方式一(按体积计费):运费 = 体积 。
- 方式二(按重量计费):
- 如果重量 克,费用为 元;
- 如果重量 克,费用为 元。
- 最终结果:通过比较,取上述两者的最小值。
3. 注意事项
- 数据类型:由于涉及 倍率和保留一位小数,变量应使用浮点数类型(
double或float)。 - 输出格式:题目要求保留一位小数。在 C++ 中可以使用
printf("%.1f\n", result);或结合cout的fixed和setprecision(1)。
示例代码
#include <cstdio>
#include <iostream>
/**
* GESP 2025年12月 一级编程题 T1: 小杨的爱心快递
*
* 题目核心:
* 1. 体积计费:运费 = 0.5 * 体积 V
* 2. 重量计费:
* - 重量 G < 300 克,运费为 M
* - 重量 G >= 300 克,运费为 N
* 3. 最终运费:取以上两种计费方式中价格较低的一个
*/
int main() {
double v, g, m, n;
// 输入四行,分别是 V, G, M, N
std::cin >> v >> g >> m >> n;
// 计算按体积计费的费用
double price_v = v * 0.5;
// 计算按重量计费的费用
double price_g;
if (g < 300.0) {
price_g = m;
} else {
price_g = n;
}
// 最终运费取两者中的最小值
double result = (price_v < price_g) ? price_v : price_g;
// 输出结果,保留一位小数
printf("%.1f\n", result);
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 认证学习微信公众号

最后更新于