news 2026/4/15 18:38:09

2025年12月GESP(C++一级): 小杨的爱心快递

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年12月GESP(C++一级): 小杨的爱心快递

2025年12月GESP(C++一级): 小杨的爱心快递

题目描述

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

假设快递的体积为V VV,重量为G GG

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

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

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

输入格式

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

输出格式

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

输入输出样例 1
输入 1
100.4 300.2 60.6 70.5
输出 1
50.2
输入输出样例 2
输入 2
99.8 200.9 60.2 70.1
输出 2
49.9
说明/提示
样例解释
  • 对于样例 1:快递体积V VV100.4 100.4100.4,重量G GG300.2 300.2300.2,第一档重量运费M MM60.6 60.660.6,第二档重量运费N NN70.5 70.570.5

    • 若按体积收费,费用为0.5 × 100.4 = 50.2 0.5 \times 100.4 = 50.20.5×100.4=50.2
    • 若按重量收费,由于重量G = 300.2 G = 300.2G=300.2超过300 300300,费用为70.5 70.570.5
      输出价格较低的50.2 50.250.2
  • 对于样例 2:快递体积V VV99.8 99.899.8,重量G GG200.9 200.9200.9,第一档重量运费M MM60.2 60.260.2,第二档重量运费N NN70.1 70.170.1

    • 若按体积收费,费用为0.5 × 99.8 = 49.9 0.5 \times 99.8 = 49.90.5×99.8=49.9
    • 若按重量收费,由于重量G = 200.9 G = 200.9G=200.9小于300 300300,费用为60.2 60.260.2
      输出价格较低的49.9 49.949.9
数据范围

对于所有测试点,保证给出的浮点数均为正数,且不超过1000 10001000

思路分析

这道题考察的是条件判断和数值比较的基本能力。题目给出了两种计算运费的方式:

  1. 按体积计算:固定公式0.5 × V
  2. 按重量计算:根据重量是否达到300克分为两档

实际运费需要取这两种计算方式中的较小值

解题步骤:

  1. 读取输入的四个浮点数:体积V、重量G、第一档运费M、第二档运费N
  2. 计算体积运费p1 = 0.5 * V
  3. 根据重量判断计算重量运费:
    • 如果G < 300,则p2 = M
    • 如果G >= 300,则p2 = N
  4. p1p2中的较小值作为最终运费
  5. 输出结果,保留一位小数

代码实现

#include<bits/stdc++.h>usingnamespacestd;// 定义变量:体积v、重量g、第一档运费m、第二档运费ndoublev,g,m,n;intmain(){// 输入数据:体积、重量、第一档运费、第二档运费cin>>v>>g>>m>>n;doublep1,p2;// p1:体积运费, p2:重量运费// 计算体积运费:0.5 * 体积p1=0.5*v;// 根据重量计算重量运费if(g<300)// 重量小于300克,使用第一档运费p2=m;else// 重量大于等于300克,使用第二档运费p2=n;// 取两种运费中的较小值作为最终运费doubleans=min(p1,p2);// 输出结果,保留一位小数cout<<fixed<<setprecision(1)<<ans;return0;// 程序正常结束}

功能分析

1.输入处理
  • 程序依次读取四个浮点数:体积V、重量G、第一档运费M、第二档运费N
  • 所有输入都是一位小数的浮点数
2.运费计算逻辑
  • 体积运费:固定为0.5 × V,线性关系
  • 重量运费:分段函数
    • G < 300时,运费为M
    • G >= 300时,运费为N
  • 最终运费:取两种计算方式的较小值min(p1, p2)
3.边界情况处理
  • 重量恰好等于300克时,属于G >= 300的情况,使用第二档运费N
  • 如果两种计算方式运费相同,任意选择一种都可以(因为取最小值会得到相同结果)
4.输出格式
  • 输出结果保留一位小数,符合题目要求
  • 使用fixed << setprecision(1)确保输出格式正确
5.测试用例验证
  • 样例1:V=100.4, G=300.2, M=60.6, N=70.5
    • p1 = 0.5×100.4 = 50.2
    • p2 = N = 70.5(因为G≥300)
    • min(50.2, 70.5) = 50.2
  • 样例2:V=99.8, G=200.9, M=60.2, N=70.1
    • p1 = 0.5×99.8 = 49.9
    • p2 = M = 60.2(因为G<300)
    • min(49.9, 60.2) = 49.9

各种学习资料,助力大家一站式学习和提升!!!

#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;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 11:15:55

突破车牌识别技术瓶颈:CCPD数据集全方位实战指南

突破车牌识别技术瓶颈&#xff1a;CCPD数据集全方位实战指南 【免费下载链接】CCPD [ECCV 2018] CCPD: a diverse and well-annotated dataset for license plate detection and recognition 项目地址: https://gitcode.com/gh_mirrors/cc/CCPD 还在为复杂环境下的车牌识…

作者头像 李华
网站建设 2026/4/15 11:12:57

基于SpringBoot的高校论坛系统【2026最新】

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

作者头像 李华
网站建设 2026/4/15 11:13:40

OpenModScan:工业自动化通讯调试的终极解决方案

OpenModScan&#xff1a;工业自动化通讯调试的终极解决方案 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan 在工业自动化领域&#xff0c;Modbus调试工具已成为工程师进…

作者头像 李华
网站建设 2026/4/14 23:04:50

Windhawk:重新定义你的Windows使用体验

Windhawk&#xff1a;重新定义你的Windows使用体验 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk 你是否曾经想过&#xff0c;为什么你的Windows系统总…

作者头像 李华
网站建设 2026/4/15 11:13:49

简历智能解析的革命:PyResParser如何重塑招聘效率新标杆

简历智能解析的革命&#xff1a;PyResParser如何重塑招聘效率新标杆 【免费下载链接】pyresparser 项目地址: https://gitcode.com/gh_mirrors/py/pyresparser 在数字化转型浪潮中&#xff0c;招聘行业正面临着前所未有的挑战。据统计&#xff0c;企业HR平均每份简历的…

作者头像 李华