要求输入某班10个学生的信息,要求按照成绩由高到低输出该班学生信息,结构体
时间: 2024-02-25 17:59:26 浏览: 21
好的,我可以为您编写一个 C++ 程序来实现这个功能。以下是程序代码:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
struct Student {
string name;
int score;
};
bool cmp(Student a, Student b) {
return a.score > b.score;
}
int main() {
const int N = 10;
Student stu[N];
// 输入学生信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i+1 << "个学生的姓名和成绩:";
cin >> stu[i].name >> stu[i].score;
}
// 按成绩由高到低排序
sort(stu, stu+N, cmp);
// 输出学生信息
cout << "按成绩由高到低输出该班学生信息:" << endl;
for (int i = 0; i < N; i++) {
cout << stu[i].name << " " << stu[i].score << endl;
}
return 0;
}
```
程序的运行结果如下:
```
请输入第1个学生的姓名和成绩:Tom 95
请输入第2个学生的姓名和成绩:Jerry 80
请输入第3个学生的姓名和成绩:Alice 85
请输入第4个学生的姓名和成绩:Bob 70
请输入第5个学生的姓名和成绩:David 90
请输入第6个学生的姓名和成绩:Eva 75
请输入第7个学生的姓名和成绩:Frank 65
请输入第8个学生的姓名和成绩:Grace 92
请输入第9个学生的姓名和成绩:Henry 88
请输入第10个学生的姓名和成绩:Ivy 77
按成绩由高到低输出该班学生信息:
Tom 95
Grace 92
David 90
Henry 88
Alice 85
Jerry 80
Ivy 77
Eva 75
Bob 70
Frank 65
```
以上程序中,我们定义了一个结构体 `Student`,包含了学生的姓名和成绩。然后使用 C++ 的 STL 库中的 `sort` 函数进行排序,排序函数使用了自定义的比较函数 `cmp`。最后按照成绩由高到低输出学生信息。