top1编程
← 返回题目
题解

【入门】冷饮的价格(1)

1 条题解

  • 0
    @ 2026-7-31 14:21:42

    解题思路

    题目要求根据购买数量计算冰激凌的价格:

    • 买 10 个或以上:2 元/个
    • 买 10 个以下:2.2 元/个

    思路:

    1. 读入数量 a
    2. 判断 a 是否 >= 10
      • 是:价格 = a × 2
      • 否:价格 = a × 2.2
    3. 输出价格,保留 1 位小数

    为什么用 double? 因为 2.2 元/个算出来的价格可能是小数(比如买 3 个是 6.6 元),要用小数类型存。

    怎么保留 1 位小数? 用 fixed 和 setprecision(1)。

    参考代码

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main() {
        int a;
        double b;
        cin >> a;
    
        if (a >= 10) {
            b = a * 2;
        } else {
            b = a * 2.2;
        }
    
        cout << fixed << setprecision(1) << b << endl;
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(1)
    • 空间复杂度:O(1)
    • 1