规定:首重8元/kg,续重4元/kg;意思,第一公斤8元(不到一公斤按一公斤算),以后每公斤4元;如3公斤的行李,8*1+4*(3-1)=16元。 输入 从键盘输入行李重量(实数) 输出 托运费(保留两位小数)
时间: 2024-10-17 15:12:28 浏览: 5
这是一个简单的运费计算问题。当用户从键盘输入行李的重量(以千克为单位),我们可以按照规定规则来计算费用。首先判断是否超过首重,如果在首重范围内,只计算8元;否则,超出部分按照续重规则每公斤4元计算。以下是对应的算法实现:
```c++
#include <iostream>
#include <iomanip> // 引入用于设置小数位数的头文件
double calculateFreight(double weight) {
double freight = 0;
// 首重8元
if (weight <= 1) {
freight = 8;
} else { // 超出首重
freight += 8; // 先加首重费用
weight -= 1; // 更新实际重量到续重部分
// 续重每公斤4元
while (weight > 0) {
freight += 4;
weight--;
}
}
// 返回运费,四舍五入到两位小数
return std::fixed << std::setprecision(2) << freight;
}
int main() {
double weight;
std::cout << "请输入行李重量(实数): ";
std::cin >> weight;
double freight = calculateFreight(weight);
std::cout << "托运费: " << freight << "元\n";
return 0;
}
```
当运行此程序时,它会提示用户输入行李重量,然后计算并输出相应的托运费,费用将精确到小数点后两位。
阅读全文