# 成绩分析 **问题描述** 小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。 请计算这次考试的最高分、最低分和平均分。 **输入格式** 输入的第一行包含一个整数n,表示考试人数。 接下来n行,每行包含一个0至100的整数,表示一个学生的得分。 **输出格式** 输出三行。 第一行包含一个整数,表示最高分。 第二行包含一个整数,表示最低分。 第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。 **样例输入** ``` 7 80 92 56 74 88 99 10 ``` **样例输出** ``` 99 10 71.29 ``` ## aop ### before ```cpp #include #include using namespace std; ``` ### after ```cpp ``` ## 答案 ```cpp int main() { int n; cin >> n; int sum = 0; int top = 0; int low = 100; int score; for (int i = 0; i < n; i++) { cin >> score; if (score > top) top = score; if (score < low) low = score; sum += score; } printf("%d\n%d\n%.2lf", top, low, (sum * 1.0 / n)); return 0; } ``` ## 选项 ### A ```cpp int main() { int n; cin >> n; int sum = 0; int top = 0; int low = 100; int score; for (int i = 0; i < n; i++) { cin >> score; if (score > top) top = score; if (score < low) low = score; sum += score; } printf("%d\n%d\n%.f", top, low, (sum * 1.0 / n)); return 0; } ``` ### B ```cpp int main() { int n; cin >> n; int sum = 0; int top = 0; int low = 100; int score; for (int i = 0; i < n; i++) { cin >> score; if (score > top) score = top; if (score < low) score = low; sum += score; } printf("%d\n%d\n%.2lf", top, low, (sum * 1.0 / n)); return 0; } ``` ### C ```cpp int main() { int n; cin >> n; int sum = 0; int top = 0; int low = 100; int score; for (int i = 0; i < n; i++) { cin >> score; if (score < top) top = score; if (score > low) low = score; sum += score; } printf("%d\n%d\n%d", top, low, (sum / n)); return 0; } ```