top1编程
← 返回题目
题解

计算买水果的总价钱

1 条题解

  • 0
    @ 2026-8-5 1:30:42

    解题思路

    水果摊上有 4 种水果,单价分别是:苹果 5 元/斤、梨 4 元/斤、西瓜 3 元/斤、柑橘 7 元/斤。每种水果买的斤数不一样,我们要算一共要付多少钱。

    总价钱 = 每种水果(斤数 × 单价)加起来。

    做法:

    1. 先把 4 种水果的单价按编号顺序存进数组 m[1]~m[4],这样 m[1] 是苹果、m[2] 是梨、m[3] 是西瓜、m[4] 是柑橘的单价。
    2. 读入苹果、梨、西瓜、柑橘各买了多少斤,也就是 a、b、c、d。
    3. 总价钱 = a * m[1] + b * m[2] + c * m[3] + d * m[4],输出这个和。

    用样例验证:苹果 5 斤、梨 0 斤、西瓜 12 斤、柑橘 2 斤,总价 = 5×5 + 0×4 + 12×3 + 2×7 = 25 + 0 + 36 + 14 = 75,和样例一致。

    参考代码

    // P4499 计算买水果的总价钱:苹果5元/斤、梨4元/斤、西瓜3元/斤、柑橘7元/斤,按购买斤数求总价钱
    #include <iostream>
    using namespace std;
    int m[5];   // m[i] 存第 i 种水果的单价
    
    int main() {
        // 先把每种水果的单价保存到数组 m 中(下标1~4)
        m[1] = 5;   // 1号水果:苹果 5元/斤
        m[2] = 4;   // 2号水果:梨 4元/斤
        m[3] = 3;   // 3号水果:西瓜 3元/斤
        m[4] = 7;   // 4号水果:柑橘 7元/斤
        int a, b, c, d;
        // 读入苹果、梨、西瓜、柑橘的购买斤数
        cin >> a >> b >> c >> d;
        // 总价钱 = 每种水果 斤数 × 单价 的和
        int sum = a * m[1] + b * m[2] + c * m[3] + d * m[4];
        cout << sum << '\n';       // 输出要支付的总价钱
        return 0;
    }
    

    复杂度分析

    • 读入 4 个斤数,做 4 次乘法和 3 次加法,都是常数次操作:O(1)。
    • 数组大小固定为 5,空间也是常数。

    总时间复杂度 O(1),空间复杂度 O(1)。

    • 1