用结构体编程,有n个学生的信息(学号、姓名、成绩),要求按照成绩的高低输出各学生的信息:{{10101,"Zhang",78},{10103,"Wang",98.5},{10106,"Li",86},{10108,"Ling",73.5},{10110,"Fun",100}
时间: 2023-11-20 15:00:51 浏览: 128
结构体数组的应用-C语言编程入门教程
以下是使用结构体编程实现该功能的示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
struct Student {
int id;
string name;
float score;
};
bool compare(Student a, Student b) {
return a.score > b.score;
}
int main() {
const int n = 5; // 学生数量
Student students[n] = {
{10101, "Zhang", 78},
{10103, "Wang", 98.5},
{10106, "Li", 86},
{10108, "Ling", 73.5},
{10110, "Fun", 100}
};
// 按成绩排序
sort(students, students + n, compare);
// 输出学生信息
for (int i = 0; i < n; i++) {
cout << students[i].id << " " << students[i].name << " " << students[i].score << endl;
}
return 0;
}
```
输出结果为:
```
10110 Fun 100
10103 Wang 98.5
10106 Li 86
10101 Zhang 78
10108 Ling 73.5
```
在上面的代码中,我们定义了一个结构体 `Student`,包含学生的学号、姓名和成绩三个属性。然后我们定义了一个 `compare` 函数,用于按照学生的成绩从高到低排序。最后我们使用 `sort` 函数对学生数组进行排序,并按顺序输出每个学生的信息。
阅读全文