有 � N 个学生,每个学生的数据包括学号、姓名、三门课的成绩。 从键盘输入 � N 个学生的数据,要求打印出 3 3 门课的总平均成绩,以及总分最高的学生的数据(包括学号、姓名、 3 3 门课成绩)。
时间: 2023-12-15 16:16:08 浏览: 78
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,这是一个典型的求平均值和最大值的问题,我可以为您提供一份C++代码示例,您可以参考一下:
```
#include <iostream>
#include <string>
using namespace std;
const int MAX_N = 100;
struct Student {
string id;
string name;
float score[3];
};
int main() {
int n;
float sum[3] = {0}; // 记录三门课程的总成绩
Student stu[MAX_N], max_stu; // 定义学生结构体数组和最高分学生
float max_score = 0; // 记录最高分
cout << "请输入学生人数:";
cin >> n;
// 输入学生信息
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的信息(学号、姓名、三门课成绩):";
cin >> stu[i].id >> stu[i].name >> stu[i].score[0] >> stu[i].score[1] >> stu[i].score[2];
for (int j = 0; j < 3; j++) {
sum[j] += stu[i].score[j]; // 计算三门课程的总成绩
}
// 记录最高分学生
if (stu[i].score[0] + stu[i].score[1] + stu[i].score[2] > max_score) {
max_score = stu[i].score[0] + stu[i].score[1] + stu[i].score[2];
max_stu = stu[i];
}
}
// 输出三门课程的平均成绩
cout << "三门课程的平均成绩为:";
for (int i = 0; i < 3; i++) {
cout << sum[i] / n << " ";
}
cout << endl;
// 输出最高分学生的信息
cout << "最高分学生的信息为:" << max_stu.id << " " << max_stu.name << " " << max_stu.score[0] << " " << max_stu.score[1] << " " << max_stu.score[2] << endl;
return 0;
}
```
希望能够帮到您,如果您有其他问题,请继续提出。
阅读全文