如何用C++编写一个程序,能够接收并存储20位学生的成绩,然后计算并输出这组成绩中的最高分、最低分以及平均分?
时间: 2024-12-15 14:15:05 浏览: 10
在C++中,你可以创建一个结构体来表示学生信息,包括成绩。首先,我们需要定义一个结构体`Student`:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct Student {
int score;
};
int main() {
const int MAX_STUDENTS = 20; // 定义最多学生数
vector<Student> studentList(MAX_STUDENTS); // 创建一个学生列表
// 接收并存储学生成绩
for (int i = 0; i < MAX_STUDENTS; ++i) {
cout << "请输入第" << (i + 1) << "名学生的成绩: ";
cin >> studentList[i].score;
}
// 计算最高分、最低分和平均分
int maxScore = *max_element(studentList.begin(), studentList.end());
int minScore = *min_element(studentList.begin(), studentList.end());
double averageScore = 0.0;
for (const auto& s : studentList) {
averageScore += s.score;
}
averageScore /= MAX_STUDENTS;
// 输出结果
cout << "最高分: " << maxScore << endl;
cout << "最低分: " << minScore << endl;
cout << "平均分: " << averageScore << endl;
return 0;
}
```
这个程序会提示用户输入每个学生的成绩,并通过`vector`容器存储所有成绩。接着,它使用`max_element`和`min_element`找到最高分和最低分,同时累加所有分数来计算平均分。
阅读全文