甜羊羊. 2023-09-04 16:58 采纳率: 45.5%
浏览 1
已结题

1102: 快递费[Delivery Fee]

1102: 快递费[Delivery Fee]
题目描述
圣诞节要到了,小刚想给在外地的朋友寄一份礼物,于是来到快递公司询问价格。价格属于分段计价,如果重量不到5kg,则需要8元;如果重量不超过10kg且达到5kg,每公斤1.6元;如果重量超过10kg,每公斤1.5元。现在小刚准备的礼物重量为a,请问小刚需要付多少钱?(1<=a<=50)

输入
一个整数a,表示小刚礼物的重量
输出
小刚需要付的快递费用,保留一位小数

样例输入
15
样例输出
22.5

下面我自己的代码(试样例不对)

#include <iostream>

#include <iomanip>

using namespace std;

int main() {
    int weight;
    cin >> weight;

    double cost = 0;
    if (weight <= 5) {
        cost = 8;
    } else if (weight <= 10) {
        cost = 8 + (weight - 5) * 1.6;
    } else {
        cost = 8 + 5 * 1.6 + (weight - 10) * 1.5;
    }

    cout << fixed << setprecision(1) << cost << endl;
    return 0;
}

  • 写回答

2条回答 默认 最新

  • qq_37749055 2023-09-04 17:04
    关注

    你的代码是正确的,只是对于输入和输出的处理有些问题。你在cin输入的时候没有添加空格或者换行,可能会导致读入失败。另外,样例输入15应该小于50,所以你的代码是正确的。

    下面是修改后的代码:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main() {
        int weight;
        cin >> weight;
    
        double cost = 0;
        if (weight <= 5) {
            cost = 8;
        } else if (weight <= 10) {
            cost = 8 + (weight - 5) * 1.6;
        } else {
            cost = 8 + 5 * 1.6 + (weight - 10) * 1.5;
        }
    
        cout << fixed << setprecision(1) << cost << endl;
        return 0;
    }
    

    你可以尝试输入一些不同的重量值,比如15、20、25、30、35等,看看输出结果是否符合要求。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月13日
  • 已采纳回答 9月5日
  • 创建了问题 9月4日

悬赏问题

  • ¥15 verilog 非阻塞赋值下的移位拼接错误
  • ¥100 两个按钮控制一个LED
  • ¥15 用C语言写离散数学相关问题
  • ¥30 如何用python的GephiStreamer连接到gephi中,把Python和Gephi的具体操作过程都展示,重点回答Gephi软件的调试,以及如果代码的端口在浏览器中无法显示怎么处理
  • ¥15 ansys机翼建模肋参数
  • ¥15 Sumo软件无法运行
  • ¥15 如何在vscode里搭建stata的编辑环境?
  • ¥15 dify知识库创建问题
  • ¥15 如何用C#的chart画1000万个点不卡顿
  • ¥15 爬虫技术找到网上看过房源客户的电话