题解
牛奶销量
1 条题解
-
0
P4259 牛奶销量(基础)
解题思路
超市想知道一周 7 天一共卖出多少箱牛奶。这就像记账:把星期一到星期日每一天的销量都记下来,最后加总。
做法分三步:
- 开一个能装 7 个数的数组 a[7],下标从 0 到 6,正好对应 7 天。
- 用 for 循环读入 7 个数,每读一个就立刻加进 sum,边读边累加。
- 输出 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