冷饮的价格(2)

【解题流程图】

【分析问题】
问题要求根据小明购买冰棍的数量计算总价,单价根据数量区间确定:30个及以上为1.0元/个,20-29个为1.2元/个,10-19个为1.5元/个,10个以下为1.8元/个。输入是整数n,输出是总价保留一位小数。需要处理边界情况,如n=0时总价为0.0,并确保区间端点被正确覆盖(例如20和29均属于1.2元区间)。

【建立模型(伪代码)】

读取整数n
如果 n >= 30:
    单价 = 1.0
否则如果 n >= 20:
    单价 = 1.2
否则如果 n >= 10:
    单价 = 1.5
否则:
    单价 = 1.8
总价 = n * 单价
输出总价,保留一位小数

【编写代码】

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    int n;
    cin >> n;
    double price;

    if (n >= 30) {
        price = 1.0;
    } else if (n >= 20) {
        price = 1.2;
    } else if (n >= 10) {
        price = 1.5;
    } else {
        price = 1.8;
    }

    double total = n * price;
    cout << fixed << setprecision(1) << total << endl;

    return 0;
}

【保存编译运行】