从键盘上输入10名学生的姓名及三科考试成绩和总成绩,排序并输出。
时间: 2024-03-22 18:40:55 浏览: 69
输入N个学生的个人信息和成绩,然后按平均成绩的降序排列
好的,可以使用C++语言编写程序来实现这个功能。下面是示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct Student {
string name;
int score1;
int score2;
int score3;
int totalScore;
};
bool compare(const Student &s1, const Student &s2) {
return s1.totalScore > s2.totalScore;
}
int main() {
const int N = 10;
Student students[N];
// 依次输入每位学生的信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i + 1 << "位学生的姓名:";
cin >> students[i].name;
cout << "请输入该学生的三科考试成绩:";
cin >> students[i].score1 >> students[i].score2 >> students[i].score3;
students[i].totalScore = students[i].score1 + students[i].score2 + students[i].score3;
}
// 对学生信息进行排序
sort(students, students + N, compare);
// 输出排序后的学生信息
cout << "按总成绩降序排序的学生信息如下:" << endl;
for (int i = 0; i < N; i++) {
cout << students[i].name << " " << students[i].score1 << " " << students[i].score2 << " " << students[i].score3 << " " << students[i].totalScore << endl;
}
return 0;
}
```
这段代码中,我们首先定义了一个结构体 `Student`,用来存储每位学生的姓名和成绩信息。然后在 `main` 函数中,我们依次输入每位学生的信息,并计算总成绩。接着,我们使用 C++ 标准库中的 `sort` 函数对学生信息进行排序,排序规则是按照总成绩降序排列。最后,我们输出排序后的学生信息。
注意,由于这里只是一个示例代码,实际使用时可能还需要进行一些错误处理等操作。
阅读全文