用c++的二维数组来统计各科平均分和最高分,不要有输入提示,而且要用最简单版。
时间: 2024-12-04 22:28:15 浏览: 20
在C++中,你可以使用二维数组来存储学生的成绩,并通过遍历数组计算各科的平均分和最高分。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
const int NUM_STUDENTS = 3; // 假设有3名学生
const int NUM_SUBJECTS = 2; // 假设有两门科目
// 二维数组表示学生的成绩
double scores[NUM_STUDENTS][NUM_SUBJECTS] = {
{85, 90}, // 学生1的成绩
{78, 88}, // 学生2的成绩
{92, 95} // 学生3的成绩
};
// 计算各科平均分
double calculateAverage(int(*array)[NUM_SUBJECTS], int subjects) {
double sum = 0;
for (int i = 0; i < subjects; ++i) {
for (int j = 0; j < NUM_STUDENTS; ++j) {
sum += array[j][i];
}
}
return sum / (subjects * NUM_STUDENTS);
}
// 计算各科最高分
double findMaxScore(int(*array)[NUM_SUBJECTS], int subjects) {
double maxScore = array[0][0];
for (int i = 0; i < subjects; ++i) {
for (int j = 0; j < NUM_STUDENTS; ++j) {
if (array[j][i] > maxScore) {
maxScore = array[j][i];
}
}
}
return maxScore;
}
int main() {
cout << "学科一的平均分为: " << calculateAverage(scores, NUM_SUBJECTS) << endl;
cout << "学科二的平均分为: " << calculateAverage(scores + 1, NUM_SUBJECTS) << endl; // 注意索引从1开始计数
cout << "学科一的最高分为: " << findMaxScore(scores, NUM_SUBJECTS) << endl;
cout << "学科二的最高分为: " << findMaxScore(scores + 1, NUM_SUBJECTS) << endl; // 同上
return 0;
}
```
阅读全文