定义结构体,包含学生学号,姓名和3门课成绩。定义一个函数,求若干学生所有科目总的平均成绩。 主函数负责结构体数组的定义和输入。
时间: 2023-12-10 17:37:54 浏览: 184
以下是一个C++代码示例:
```c++
#include <iostream>
using namespace std;
struct Student {
int id;
string name;
double scores[3];
};
double calcAvgScore(Student stu[], int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
sum += stu[i].scores[j];
}
}
return sum / (n * 3);
}
int main() {
const int N = 3; // 学生数目
Student stu[N];
// 输入学生信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i + 1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> stu[i].id;
cout << "姓名:";
cin >> stu[i].name;
cout << "成绩:";
for (int j = 0; j < 3; j++) {
cin >> stu[i].scores[j];
}
}
// 计算平均成绩
double avgScore = calcAvgScore(stu, N);
cout << "所有学生的平均成绩为:" << avgScore << endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个名为`Student`的结构体,它包含了学生的学号、姓名和3门课成绩。然后我们又定义了一个名为`calcAvgScore`的函数,它接收一个`Student`类型的数组和数组的大小,然后遍历数组,将所有成绩加起来,最后求平均值。在`main`函数中,我们首先定义了一个大小为3的`Student`类型的数组,然后用`for`循环输入每个学生的信息,最后调用`calcAvgScore`函数计算平均成绩并输出。
阅读全文