【实验8-3 输出平均分最高的学生信息】 假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。 输入格式: 输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。 输出格式: 在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两位小数)。 输入样例: 3 101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 90 84 输出样例: num:102 name:Wang average:89.67
时间: 2024-03-11 21:45:20 浏览: 82
以下是该问题的一个C++实现:
```c++
#include <iostream>
#include <string>
#include <algorithm>
#include <iomanip>
using namespace std;
struct Student {
string num;
string name;
int score[3];
double average;
};
int main() {
int n;
cin >> n;
Student stu[n];
for (int i = 0; i < n; i++) {
cin >> stu[i].num >> stu[i].name;
for (int j = 0; j < 3; j++) {
cin >> stu[i].score[j];
stu[i].average += stu[i].score[j];
}
stu[i].average /= 3;
}
int max_index = 0;
for (int i = 1; i < n; i++) {
if (stu[i].average > stu[max_index].average) {
max_index = i;
}
}
cout << "num:" << stu[max_index].num << " ";
cout << "name:" << stu[max_index].name << " ";
cout << "average:" << fixed << setprecision(2) << stu[max_index].average << endl;
return 0;
}
```
使用结构体类型存储学生信息,输入时记录每个学生的平均分,然后遍历所有学生找到平均分最高的学生,输出其信息即可。
阅读全文