定义一个机构体数组,存放10个学生的学号,姓名,三门课的成绩,从键盘上输入10个学生的以上内容,然后输出单门课成绩最高的学生的学号,姓名以及该们课程的成绩,输出三门课程的平均分分数最高的学生的学号,姓名和平均分,将10个学生按照平均分数从高到低进行排序,以表格的形式输出结果
时间: 2023-06-24 12:05:53 浏览: 524
定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩,输出高于平均成绩的序号。
以下是一个示例代码,可以实现你的要求:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Student {
string id; // 学号
string name; // 姓名
int score[3]; // 三门课程的成绩
double avg; // 平均分
};
bool cmp(const Student& a, const Student& b) {
return a.avg > b.avg;
}
int main() {
Student students[10]; // 学生数组
double maxScore = 0.0; // 单门课成绩最高分数
int maxIndex = -1; // 单门课成绩最高分数对应的学生下标
double maxAvg = 0.0; // 三门课程平均分最高分数
int maxAvgIndex = -1; // 三门课程平均分最高分数对应的学生下标
// 输入学生信息
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i+1 << "个学生的信息:" << endl;
cout << "学号:";
cin >> students[i].id;
cout << "姓名:";
cin >> students[i].name;
cout << "三门课程的成绩:";
for (int j = 0; j < 3; j++) {
cin >> students[i].score[j];
students[i].avg += students[i].score[j];
}
students[i].avg /= 3.0;
if (students[i].score[0] > maxScore) {
maxScore = students[i].score[0];
maxIndex = i;
}
if (students[i].avg > maxAvg) {
maxAvg = students[i].avg;
maxAvgIndex = i;
}
}
// 输出单门课成绩最高的学生信息
cout << "单门课成绩最高的学生信息:" << endl;
cout << "学号:" << students[maxIndex].id << endl;
cout << "姓名:" << students[maxIndex].name << endl;
cout << "成绩:" << students[maxIndex].score[0] << endl;
// 输出三门课程平均分最高的学生信息
cout << "三门课程平均分最高的学生信息:" << endl;
cout << "学号:" << students[maxAvgIndex].id << endl;
cout << "姓名:" << students[maxAvgIndex].name << endl;
cout << "平均分:" << students[maxAvgIndex].avg << endl;
// 将学生按照平均分从高到低排序
sort(students, students+10, cmp);
// 输出排序后的结果
cout << "按照平均分从高到低排序的学生信息:" << endl;
cout << "学号\t姓名\t平均分" << endl;
for (int i = 0; i < 10; i++) {
cout << students[i].id << "\t" << students[i].name << "\t" << students[i].avg << endl;
}
return 0;
}
```
这段代码首先定义了一个`Student`结构体,存储学生的信息,包括学号、姓名、三门课程的成绩和平均分。然后使用一个循环输入10个学生的信息,并且在输入每个学生的信息时,同时计算单门课成绩最高的学生和三门课程平均分最高的学生。接着使用`sort`函数对学生数组进行排序,按照平均分从高到低排序。最后输出单门课成绩最高的学生信息、三门课程平均分最高的学生信息和排序后的学生信息。
阅读全文