45.有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及总成绩最高分的学生的数据(包括学号、姓名、3门课成绩) 输入 学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。(成绩取值范围:0~1000) 输出 各门课的平均成绩 总成绩最高分的学生的数据(包括学号、姓名、3门课成绩) 样例输入 2 1 blue 90 80 70 b clan 80 70 60 样例输出 85 75 65 1 blue 90 80 70 java
时间: 2023-12-15 17:12:01 浏览: 160
要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3
好的,我理解了你的问题。这是一个经典的计算成绩平均值和找到最高分的问题。下面是一个使用 C++ 语言实现的代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
int score[3];
};
int main() {
int n;
cin >> n;
Student maxScoreStudent;
int maxScore = 0;
double avgScore[3] = { 0, 0, 0 };
for (int i = 0; i < n; i++) {
Student s;
cin >> s.id >> s.name >> s.score[0] >> s.score[1] >> s.score[2];
int totalScore = 0;
for (int j = 0; j < 3; j++) {
totalScore += s.score[j];
avgScore[j] += s.score[j];
}
if (totalScore > maxScore) {
maxScore = totalScore;
maxScoreStudent = s;
}
}
for (int i = 0; i < 3; i++) {
avgScore[i] /= n;
cout << avgScore[i] << " ";
}
cout << endl;
cout << maxScoreStudent.id << " " << maxScoreStudent.name << " ";
for (int i = 0; i < 3; i++) {
cout << maxScoreStudent.score[i] << " ";
}
cout << endl;
return 0;
}
```
注意,这是一个完整的程序,你可以将其复制粘贴到编译器中运行。当然,你也可以将其作为参考并根据自己的需要进行修改。
阅读全文