用结构体表示8名学生的学号、姓名、语文、数学、英语三门课的成绩,存放在一维数组中(数组元素为结构体),计算每门课的平均成绩,并显示。用c++写一段程序
时间: 2024-03-26 21:38:42 浏览: 59
下面是一份可供参考的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
// 定义结构体
struct Student {
int id; // 学号
string name; // 姓名
int chinese; // 语文成绩
int math; // 数学成绩
int english; // 英语成绩
};
int main() {
const int NUM_STUDENTS = 8; // 学生人数
Student students[NUM_STUDENTS]; // 定义结构体数组
float chinese_total = 0, math_total = 0, english_total = 0; // 各科总分
float chinese_avg, math_avg, english_avg; // 各科平均分
// 输入学生信息
for (int i = 0; i < NUM_STUDENTS; i++) {
cout << "请输入第" << i + 1 << "名学生的信息:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "语文成绩:";
cin >> students[i].chinese;
cout << "数学成绩:";
cin >> students[i].math;
cout << "英语成绩:";
cin >> students[i].english;
chinese_total += students[i].chinese;
math_total += students[i].math;
english_total += students[i].english;
}
// 计算各科平均分
chinese_avg = chinese_total / NUM_STUDENTS;
math_avg = math_total / NUM_STUDENTS;
english_avg = english_total / NUM_STUDENTS;
// 输出各科平均分
cout << "语文平均分:" << chinese_avg << endl;
cout << "数学平均分:" << math_avg << endl;
cout << "英语平均分:" << english_avg << endl;
return 0;
}
```
这份代码中,我们先定义了一个 `Student` 结构体表示学生信息,包括学号、姓名、语文、数学、英语三门课的成绩。然后在 `main` 函数中,我们定义一个结构体数组 `students` 来存储8名学生的信息,并通过循环输入每个学生的信息。在输入信息的过程中,我们记录了每门课的总分,最后通过总分除以人数来计算每门课的平均分,并输出结果。
阅读全文