测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24101. 快递费用计算

填空题 较易

题目描述

快递费用计算

题目描述

探险家艾伦即将前往一个神秘的岛屿进行探索,他需要通过速递公司寄送一批重要的探险装备。为了确保顺利到达目的地,艾伦选择了一家名为“飞鹰速递”的物流公司。这家公司收费标准如下:

基础费用:起步价为20元,如果超过首重则需收取续重费。称重结果采用四舍五入的方法,保留一位小数。

首重与续重:首重为2kg,不足首重只收取起步价。超过首重的话,每超过0.5kg需额外支付2元的续重费,超过首重部以0.5kg为一个计费重量单位,不足0.5kg部分按0.5kg计算。

现在,你作为艾伦的助手,需要编写一个程序来帮助他计算这次快递的总费用。输入为包裹的实际重量(单位:kg),输出为应支付的总费用(单位:元)。

输入描述

一行,一个实数w,表示物品重量。

输出描述

一行,一个整数,需要支付的快递费用。

样例1

输入:14    输出:68

样例2

输入:72.68    输出:302

数据范围

0.01<=w<=100.00 (重量最小为0.01kg,最大为100.00kg)

参考答案

#include <iostream> #include <cmath> using namespace std; int main() { double w; cin >> w; // 四舍五入保留一位小数 double w_after = round(w * 10) / 10; if (w_after <= 2.0) { cout << 20 << endl; return 0; } double w_over = w_after - 2.0; // 计算续重单位(不足0.5kg按0.5kg算,向上取整) int units = ceil(w_over / 0.5); int cost = 20 + units * 2; cout << cost << endl; return 0; }
上一题 下一题