用c++,定义结构体,包含学生学号,姓名和3门课成绩。定义一个函数,求若干学生的平均成绩。 主函数负责结构体数组的定义和输入。
时间: 2024-01-03 08:04:54 浏览: 61
好的,以下是一个可能的实现:
```c++
#include <iostream>
using namespace std;
// 定义学生结构体
struct Student {
string id; // 学号
string name; // 姓名
double score[3]; // 三门课的成绩
};
// 定义求平均成绩的函数
double calcAvgScore(Student* students, int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
sum += students[i].score[j];
}
}
return sum / (n * 3);
}
int main() {
const int N = 2; // 学生数量
Student students[N];
// 输入学生信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i + 1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "成绩:";
for (int j = 0; j < 3; j++) {
cin >> students[i].score[j];
}
}
// 计算平均成绩并输出
double avgScore = calcAvgScore(students, N);
cout << "平均成绩为:" << avgScore << endl;
return 0;
}
```
这里我们定义了一个 `Student` 结构体,包含学生的学号、姓名和三门课的成绩。然后定义了一个名为 `calcAvgScore` 的函数,用来计算若干学生的平均成绩。最后在 `main` 函数中定义了一个 `Student` 类型的数组,输入学生信息,调用 `calcAvgScore` 函数计算平均成绩并输出。