有5个学生的信息(包括学号、姓名、成绩),要求定义一个结构体数组,按照成绩的高低顺序输出各学生的信息。
时间: 2024-03-12 17:47:56 浏览: 160
好的,可以使用以下代码实现:
```C++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct Student {
int id;
string name;
int score;
};
bool cmp(Student a, Student b) {
return a.score > b.score;
}
int main() {
Student students[5] = {
{1001, "Tom", 80},
{1002, "Jack", 95},
{1003, "Lucy", 70},
{1004, "Mary", 85},
{1005, "John", 90}
};
sort(students, students + 5, cmp);
for (int i = 0; i < 5; i++) {
cout << "ID: " << students[i].id << ", Name: " << students[i].name << ", Score: " << students[i].score << endl;
}
return 0;
}
```
在这个代码中,我们定义了一个 `Student` 结构体,包括学号、姓名和成绩三个成员变量。然后定义了一个 `cmp` 函数用于排序,按照成绩从高到低的顺序排序。最后在主函数中定义了一个包含5个学生信息的结构体数组 `students`,并对它进行排序并输出各学生信息。
阅读全文