有n个结构体变量,内含学生学 号、姓名和3门课程的成绩。要求输出 平均成绩最高的学生的信息(包括学号 、姓名、3门课程成绩和平均成绩)。
时间: 2023-12-23 17:53:16 浏览: 70
要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3
可以使用结构体数组来存储n个学生的信息,然后通过遍历数组找到平均成绩最高的学生,并输出其信息。
以下是示例代码:
```c++
#include <iostream>
using namespace std;
struct Student {
int id; // 学号
string name; // 姓名
double score1; // 第一门课程成绩
double score2; // 第二门课程成绩
double score3; // 第三门课程成绩
double avg_score; // 平均成绩
};
int main() {
const int n = 3; // 学生数量
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 << "第一门课程成绩:";
cin >> students[i].score1;
cout << "第二门课程成绩:";
cin >> students[i].score2;
cout << "第三门课程成绩:";
cin >> students[i].score3;
students[i].avg_score = (students[i].score1 + students[i].score2 + students[i].score3) / 3.0;
}
// 找到平均成绩最高的学生
int highest_index = 0;
for (int i = 1; i < n; i++) {
if (students[i].avg_score > students[highest_index].avg_score) {
highest_index = i;
}
}
// 输出平均成绩最高的学生的信息
cout << "平均成绩最高的学生信息如下:" << endl;
cout << "学号:" << students[highest_index].id << endl;
cout << "姓名:" << students[highest_index].name << endl;
cout << "第一门课程成绩:" << students[highest_index].score1 << endl;
cout << "第二门课程成绩:" << students[highest_index].score2 << endl;
cout << "第三门课程成绩:" << students[highest_index].score3 << endl;
cout << "平均成绩:" << students[highest_index].avg_score << endl;
return 0;
}
```
需要注意的是,以上代码中使用了结构体数组来存储学生信息,每个结构体变量包含了学生的学号、姓名和3门课程的成绩以及平均成绩。在输入学生信息时,需要计算每个学生的平均成绩并保存在对应的结构体变量中。然后,通过遍历数组找到平均成绩最高的学生,并输出其信息。
阅读全文