TB椰程 TypeBuddy 打字搭子

练21.2 邮寄包裹

C++语法 · 条件判断 · 代码 · cpp · 难度 3/5 · 共 801 字

邮寄包裹:分段费率计费,超重 Fail

  • C++语法
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/P125
// 题意:重量超 30 千克不予邮寄输出 Fail;
//       可以邮寄时收手续费 0.2 元,再按重量分段计费:
//       ≤10 每公斤 0.80 元,10~20 每公斤 0.75 元,
//       20~30 每公斤 0.70 元,结果保留 2 位小数。
// 思路:先判断能不能寄,再用多分支确定单价,
//       最后 printf 保留两位小数输出。
#include <cstdio>
using namespace std;

int main() {
    int x;
    // 包裹重量(千克)
    scanf("%d", &x);
    if (x > 30) {
        // 超重不能邮寄
        printf("Fail\n");
    } else {
        // 手续费 0.2 元
        double fee = 0.2;
        if (x <= 10) {
            fee += x * 0.80;
        } else if (x <= 20) {
            // 前 10 公斤按 0.80,超出部分按 0.75
            fee += 10 * 0.80 + (x - 10) * 0.75;
        } else {
            // 20 公斤以内照旧,超出部分按 0.70
            fee += 10 * 0.80 + 10 * 0.75 + (x - 20) * 0.70;
        }
        printf("%.2f\n", fee);
    }
    return 0;
}

C++语法 · 条件判断的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK