假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩, 定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。 输入格式:输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学 号、姓名、三门课程成绩(整数)。 输出格式:在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两 位小数)。 输入样例: 101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 9084 输出样例: num:102 name:Wang average:89.67
时间: 2024-02-29 11:55:15 浏览: 73
这是一个关于学生信息的结构体的问题,我可以提供以下代码实现:
```c++
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
struct Student
{
int 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;
stu[i].average = 0;
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 << " name:" << stu[max_index].name << " average:" << fixed << setprecision(2) << stu[max_index].average << endl;
return 0;
}
```
这个程序首先定义了一个名为`Student`的结构体,包含学号、姓名、三门课程成绩以及平均分。然后通过循环输入n个学生的信息,计算每个学生的平均分,并找出平均分最高的学生。最后输出平均分最高的学生的学号、姓名和平均分。
阅读全文