题解
计算平均分
1 条题解
-
0
解题思路
平均分怎么算?
平均分 = 总分 ÷ 总人数。
这道题有 5 名同学,所以我们要先算出 5 个分数的总分,再除以 5,就能得到平均分。
一个很省事的技巧:连数组都不用开
我们只需要一个变量
s(代表 sum,总和)。每读入一个分数,就把它累加到s里。读完全部 5 个数后,s就是这 5 个分数的总分。为什么直接用除法?
题目要求输出一个整数。在 C++ 里,两个整数相除(
s / 5)的结果也是整数,小数部分会被自动舍去,正好符合题目要求。步骤拆解:
- 循环 5 次,每次读入一个分数并累加进
s; - 输出
s / 5,这就是平均分。
参考代码
// P4500 计算平均分:读入5个分数,输出平均分 #include <iostream> using namespace std; int main() { int a[5], s = 0; for (int i = 0; i < 5; i++) { cin >> a[i]; s += a[i]; // 累加得到总分 } cout << s / 5 << endl; // 平均分 = 总分 / 人数 return 0; }复杂度分析
这道题一共只有 5 个数。
- 时间:循环 5 次,每次只做常数次运算,时间复杂度是 O(1)(确切地说是 O(5));
- 空间:只用了一个长度为 5 的数组和两个变量,空间复杂度是 O(5),也可以写成 O(1)。
- 循环 5 次,每次读入一个分数并累加进
- 1