top1编程
← 返回题目
题解

牛奶销量

1 条题解

  • 0
    @ 2026-8-5 21:17:14

    P4259 牛奶销量(基础)

    解题思路

    超市想知道一周 7 天一共卖出多少箱牛奶。这就像记账:把星期一到星期日每一天的销量都记下来,最后加总。

    做法分三步:

    1. 开一个能装 7 个数的数组 a[7],下标从 0 到 6,正好对应 7 天。
    2. 用 for 循环读入 7 个数,每读一个就立刻加进 sum,边读边累加。
    3. 输出 sum。

    为什么用数组存?虽然这道题边读边加、不存数组也能算,但题目明确要求"保存到一个整型数组中",是为了练习数组的用法——以后遇到"读进来之后还要再查某一天"的题,就必须先把数据存起来。

    边界情况:

    • 7 天的销量加起来最多也就几百箱,用 int 完全够用。
    • 数组下标从 0 开始,第 1 天存在 a[0],第 7 天存在 a[6]。循环里 i 从 0 到 6,别多循环一次读到第 8 个数。

    比如样例 30 25 20 31 35 28 37,加起来 30+25+20+31+35+28+37 = 206,和样例一致。

    参考代码

    // 用途:输入一个星期7天的牛奶销量,存入数组并累加,输出一周总销量
    #include <iostream>
    using namespace std;
    
    int main() {
        int a[7], sum = 0;
        for (int i = 0; i < 7; i++) {
            cin >> a[i];        // 读入第i天的销量
            sum += a[i];        // 边读边累加
        }
        cout << sum << endl;    // 输出总销量
        return 0;
    }
    

    复杂度分析

    循环固定执行 7 次,每次做一次读入和一次加法,所以时间复杂度是 O(7),也就是常数级别 O(1);数组只有 7 个 int,额外空间 O(1)。无论销量是大是小,程序都能一次算出结果,不会因为数据量变大而变慢。

    • 1