邮局对于邮件的邮费有特定的计费规则。
具体来说,如果邮件的重量在1公斤以内(包含1公斤),那么邮费就是固定的15元。然而,如果邮件的重量超过1公斤,那么超出的部分将按照每公斤加收8元的标准来计算。
现在,我们需要编写一个程序,该程序能够根据输入的邮件重量,自动计算出应支付的邮费,并确保计算结果保留1位小数。
问题分析:
输入重量,输出费用。使用选择结构实现分段计算,逻辑清晰。
输入一个实数 weight(0 < weight ≤ 100),表示邮件重量(单位:公斤)。
您需要支付的邮费,保留1位小数
输入:一个实数 weight,表示邮件重量(单位:公斤)。
使用 double 类型存储 weight,兼容小数输入(如 0.8 或 1.7)。
输出:一个保留1位小数的实数,表示邮费(单位:元)。
使用 fixed << setprecision(1) 保留1位小数。
核心规则:
当 weight ≤ 1 公斤时,费用固定为15元。
当 weight > 1 公斤时,费用为 15 + 8 × (weight - 1) 元。
边界值测试:
| 输入 (weight) | 计算过程 | 预期输出 |
|---|---|---|
1.0
|
15.0
|
15.0角
|
1.000001
|
15.0 + 8.0×0.000001
|
15.000008角 → 实际输出 15.0角(精度控制生效)
|
0.999999
|
15.0
|
15.0角
|
极端值测试:
输入 100.0(最大合法值):15 + 8×99 = 807元 → 807.0角。