在主函数中录入一个班20名学生的姓名(假设没有重名的同学)及五门课的成绩。利用函数实现如下功能:输出每个学生的平均成绩
时间: 2024-02-12 16:02:19 浏览: 78
编制一个程序,要求输入5个学生的学号、2门课的成绩,然后输出每个学生的学号、2门课成绩、平均成绩。
3星 · 编辑精心推荐
好的,这是一个比较基础的 C++ 编程问题。
你可以参考以下代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
const int NUM_STUDENTS = 20;
const int NUM_SUBJECTS = 5;
void calcAvg(double scores[][NUM_SUBJECTS], double avgs[], int n) {
for (int i = 0; i < n; i++) {
double sum = 0;
for (int j = 0; j < NUM_SUBJECTS; j++) {
sum += scores[i][j];
}
avgs[i] = sum / NUM_SUBJECTS;
}
}
int main() {
string names[NUM_STUDENTS];
double scores[NUM_STUDENTS][NUM_SUBJECTS];
double avgs[NUM_STUDENTS];
// 录入数据
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << "请输入第 " << i + 1 << " 个学生的姓名:";
cin >> names[i];
for (int j = 0; j < NUM_SUBJECTS; j++) {
cout << "请输入该学生的第 " << j + 1 << " 门课的成绩:";
cin >> scores[i][j];
}
}
// 计算平均成绩
calcAvg(scores, avgs, NUM_STUDENTS);
// 输出结果
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << names[i] << " 的平均成绩为:" << avgs[i] << endl;
}
return 0;
}
```
该程序中,我们定义了三个数组:`names` 存放学生姓名,`scores` 存放学生成绩,`avgs` 存放学生平均成绩。我们先在主函数中录入数据,然后调用 `calcAvg` 函数计算每个学生的平均成绩,最后输出结果。
`calcAvg` 函数的实现比较简单,就是遍历每个学生的成绩,求出总分并计算平均分。这个函数的参数分别为 `scores`,`avgs`,`n`,其中 `scores` 是一个二维数组,存放了所有学生的成绩;`avgs` 是一个一维数组,存放了每个学生的平均成绩;`n` 是学生的人数。
阅读全文