用C++编写有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出3门课的平均成绩,以及平均成绩最高的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
时间: 2023-12-15 20:10:12 浏览: 96
好的,以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
double score[3];
double avgScore;
};
int main() {
Student stu[10];
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i + 1 << "个学生的学号、姓名和3门课的成绩(以空格分隔):" << endl;
cin >> stu[i].id >> stu[i].name >> stu[i].score[0] >> stu[i].score[1] >> stu[i].score[2];
stu[i].avgScore = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3.0;
}
double avgScores[3] = {0.0}; // 3门课的平均成绩
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 3; j++) {
avgScores[j] += stu[i].score[j];
}
}
for (int i = 0; i < 3; i++) {
avgScores[i] /= 10.0;
cout << "第" << i + 1 << "门课的平均成绩为:" << avgScores[i] << endl;
}
int maxIndex = 0; // 平均分数最高的学生的下标
for (int i = 1; i < 10; i++) {
if (stu[i].avgScore > stu[maxIndex].avgScore) {
maxIndex = i;
}
}
cout << "平均分数最高的学生为:" << stu[maxIndex].name << ",学号为:" << stu[maxIndex].id << endl;
cout << "他的3门课成绩分别为:" << stu[maxIndex].score[0] << " " << stu[maxIndex].score[1] << " " << stu[maxIndex].score[2] << endl;
cout << "平均分数为:" << stu[maxIndex].avgScore << endl;
return 0;
}
```
希望能帮到您!
阅读全文