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;
}
上一题
下一题