定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩 2、从键盘输入10个学生的以上内容 3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩 4、输出三门课程的平均分数最高的学生的学号、姓名及
时间: 2023-12-15 10:24:40 浏览: 190
三门课的平均分数。
可以按如下方式定义结构体数组:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
double score[3];
};
int main() {
Student students[10];
// 从键盘输入学生信息
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i + 1 << "个学生的学号、姓名和三门课的成绩:" << endl;
cin >> students[i].id >> students[i].name >> students[i].score[0] >> students[i].score[1] >> students[i].score[2];
}
// 输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩
int max_index = 0;
double max_score = students[0].score[0];
for (int i = 1; i < 10; i++) {
if (students[i].score[0] > max_score) {
max_index = i;
max_score = students[i].score[0];
}
}
cout << "单门课成绩最高的学生是:" << students[max_index].id << " " << students[max_index].name << " " << students[max_index].score[0] << endl;
// 输出三门课程的平均分数最高的学生的学号、姓名及三门课的平均分数
max_index = 0;
double max_avg_score = 0;
for (int i = 0; i < 10; i++) {
double sum_score = students[i].score[0] + students[i].score[1] + students[i].score[2];
double avg_score = sum_score / 3;
if (avg_score > max_avg_score) {
max_index = i;
max_avg_score = avg_score;
}
}
cout << "三门课程平均分数最高的学生是:" << students[max_index].id << " " << students[max_index].name << " " << students[max_index].score[0] << " " << students[max_index].score[1] << " " << students[max_index].score[2] << endl;
return 0;
}
```
注意,这里假设学生的学号和姓名都是用字符串来表示的,如果需要用整数或其他类型来表示,可以相应地修改代码。
阅读全文
相关推荐


















