用C++的二维数组来统计各科平均分和最高分
时间: 2024-12-04 15:28:14 浏览: 25
在C++中,你可以使用二维数组来存储学生各科的成绩,然后分别计算每科的平均分和最高分。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int numStudents = 5; // 学生数
int numSubjects = 3; // 科目数
float grades[numStudents][numSubjects]; // 二维数组,用于存储成绩
// 输入学生分数
for (int i = 0; i < numStudents; ++i) {
for (int j = 0; j < numSubjects; ++j) {
cout << "请输入第 " << (i+1) << " 名学生的第 " << (j+1) << " 科成绩:";
cin >> grades[i][j];
}
}
// 初始化临时变量存储每科的总分、最高分和计数
float sum[numSubjects] = {0};
float maxGrades[numSubjects] = {INT_MIN}; // 使用整型最小值初始化最高分防止溢出
// 计算平均分和最高分
for (int j = 0; j < numSubjects; ++j) {
for (int i = 0; i < numStudents; ++i) {
sum[j] += grades[i][j];
if (grades[i][j] > maxGrades[j]) {
maxGrades[j] = grades[i][j];
}
}
// 计算平均分并输出
float averageScore = static_cast<float>(sum[j]) / numStudents;
cout << "第 " << (j+1) << " 科的平均分为:" << averageScore << endl;
// 输出最高分
cout << "第 " << (j+1) << " 科的最大分数为:" << maxGrades[j] << endl;
}
return 0;
}
```
在这个例子中,我们首先创建了一个二维数组`grades`来存储每个学生各科的成绩。接着遍历数组,累加每科总分,并同时更新最高分。最后计算平均分并输出结果。
阅读全文