输入10个学生5门课的成绩,分别用函数实现下列功能 ①计算每个学生的平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程; ④计算平均分方差 每个小问题写一个函数 cpp
时间: 2024-01-01 11:05:25 浏览: 71
C++输入函数和成绩显示函数,并计算每位同学的总分和平均分,对成绩排名输出等.docx
5星 · 资源好评率100%
好的,以下是四个对应问题的函数实现:
1. 计算每个学生的平均分
```cpp
void calcAvgForStudent(int scores[][5], double avg[]) {
for (int i = 0; i < 10; i++) {
double sum = 0;
for (int j = 0; j < 5; j++) {
sum += scores[i][j];
}
avg[i] = sum / 5.0;
}
}
```
2. 计算每门课的平均分
```cpp
void calcAvgForCourse(int scores[][5], double avg[]) {
for (int i = 0; i < 5; i++) {
double sum = 0;
for (int j = 0; j < 10; j++) {
sum += scores[j][i];
}
avg[i] = sum / 10.0;
}
}
```
3. 找出所有50个分数中最高的分数所对应的学生和课程
```cpp
void findMaxScore(int scores[][5], int& student, int& course) {
int maxScore = scores[0][0];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
if (scores[i][j] > maxScore) {
maxScore = scores[i][j];
student = i + 1;
course = j + 1;
}
}
}
}
```
4. 计算平均分方差
```cpp
void calcVariance(int scores[][5], double& variance) {
double sum = 0, avg = 0, avgSquare = 0;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
sum += scores[i][j];
}
}
avg = sum / 50.0;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
avgSquare += pow(scores[i][j] - avg, 2);
}
}
variance = avgSquare / 50.0;
}
```
注意:上述代码中使用了一些 C++ 11 以后的新特性,如 `pow()` 函数和数组初始化方式,需要使用编译器进行编译时需要添加对应的编译选项。
阅读全文