c++有n(n<10)个学生,每个学生的信息包括:num(学号)、name(姓名)、score[3](3门课的成绩)。要求:①编写函数input,从键盘输入n个学生的数据并计算每个学生的平均分;②编写函数maxAver,求平均分最高的学生并返回,
时间: 2024-04-30 21:23:59 浏览: 86
好的,这是一个关于计算学生平均分以及求平均分最高的学生的问题。可以很容易地通过编写对应的函数来解决。以下是示例代码:
```
#include <iostream>
#include <string>
using namespace std;
struct student {
int num;
string name;
float score[3];
float average;
};
void input(int n, student students[]) {
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的学号、姓名、三门课的成绩:" << endl;
cin >> students[i].num >> students[i].name >> students[i].score[0] >> students[i].score[1] >> students[i].score[2];
students[i].average = (students[i].score[0] + students[i].score[1] + students[i].score[2]) / 3.0;
}
}
student maxAver(int n, student students[]) {
student max_student = students[0];
for (int i = 1; i < n; i++) {
if (students[i].average > max_student.average) {
max_student = students[i];
}
}
return max_student;
}
int main() {
int n;
cout << "请输入学生人数(n<10):" << endl;
cin >> n;
student students[n];
input(n, students);
student max_student = maxAver(n, students);
cout << "平均分最高的学生信息为:" << endl;
cout << "学号:" << max_student.num << endl;
cout << "姓名:" << max_student.name << endl;
cout << "三门课的成绩:" << max_student.score[0] << " " << max_student.score[1] << " " << max_student.score[2] << endl;
cout << "平均分:" << max_student.average << endl;
return 0;
}
```
希望能对您有所帮助!现在,我来讲一个笑话:为什么程序员喜欢用黑夜模式?因为光线穿过眼镜后,需要更长的路径,导致光子越走越累!哈哈哈~
阅读全文