本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。 输入格式: 输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。 输出格式: 按照以下格式输出: average = 平均成绩 max = 最高成绩 min = 最低成绩
时间: 2024-02-28 13:52:45 浏览: 127
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
好的,以下是一份C++代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int N;
cin >> N;
int* scores = new int[N];
for (int i = 0; i < N; i++) {
cin >> scores[i];
}
int max_score = *max_element(scores, scores + N);
int min_score = *min_element(scores, scores + N);
double sum = 0;
for (int i = 0; i < N; i++) {
sum += scores[i];
}
double average = sum / N;
printf("average = %.2f\n", average);
printf("max = %d\n", max_score);
printf("min = %d\n", min_score);
delete[] scores;
return 0;
}
```
解释一下,首先读入学生人数N,然后使用动态内存分配(new)分配一个长度为N的整型数组scores。接下来循环读入每个学生的成绩,并计算最高分、最低分和成绩总和。最后,计算平均分并按照格式输出即可。最后别忘了使用delete[]释放内存。
阅读全文