酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

c++ 【题目描述】 邮局对邮寄包裹有如下规定:若包裹的重量超过 30 千克,不予邮寄,对可以邮寄的包裹每件收手续费 0.2 元,再加上根据下表按重量 x 计算的结果。 重量(千克) 收费标准(元/公斤) x≤10 0.80 10<x≤20 0.75 20<x≤30 0.70 请你编写一个程序,输入包裹重量,输出所需费用或"Fail"表示无法邮寄。 【输入】 输入一个整数 x ,表示包裹的重量(单位:千克)。(0<x≤100 ) 【输出】 输出对应的费用(答案保留 2 位小数)或"Fail"表示无法邮寄。 【输入样例】 7 【输出样例】 5.80

根据题目要求,我们可以编写一个C++程序来计算邮寄包裹的费用。以下是实现该功能的代码: ```cpp #include <iostream> #include <iomanip> // 用于设置输出精度 using namespace std; int main() { int weight; cin >> weight; if (weight > 30) { cout << "Fail" << endl; } else { double fee = 0.2; // 手续费 if (weight <= 10) { fee += weight * 0.80; } else if (weight <= 20) { fee += 10 * 0.80 + (weight - 10) * 0.75; } else { fee += 10 * 0.80 + 10 * 0.75 + (weight - 20) * 0.70; } cout << fixed << setprecision(2) << fee << endl; } return 0; } ``` 代码解释: 1. 输入处理:程序首先读取用户输入的包裹重量。 2. 重量检查:如果重量超过30千克,输出"Fail"。 3. 费用计算: - 对于重量不超过10千克的包裹,费用为0.2元手续费加上重量乘以0.80元/千克。 - 对于重量在10到20千克之间的包裹,费用为0.2元手续费加上前10千克的费用(10 * 0.80)加上超出10千克的部分乘以0.75元/千克。 - 对于重量在20到30千克之间的包裹,费用为0.2元手续费加上前10千克的费用(10 * 0.80)加上中间10千克的费用(10 * 0.75)加上超出20千克的部分乘以0.70元/千克。 4. 输出格式:使用`fixed`和`setprecision(2)`来确保输出保留两位小数。 额外需要注意的逻辑点: 1. 边界条件:确保在重量等于10或20千克时,费用计算正确。 2. 输入范围:题目中输入的重量范围是0 < x ≤ 100,但程序只处理x ≤ 30的情况,x > 30时直接输出"Fail"。 3. 输出格式:确保费用输出保留两位小数,使用`fixed`和`setprecision(2)`来实现。 [2025-02-28 11:06:32 | AI写代码神器 | 506点数解答]

相关提问