文章
3
粉丝
56
获赞
3
访问
1.8k
关键在于排序的稳定性,C语言没有stable_sort,qsort不稳定,所以这里考虑的是牺牲复杂度,选择冒泡排序。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义一个结构体表示学生信息
typedef struct {
char name[50];
int score;
} Student;
int main() {
int n; // 学生个数
int order; // 排序方式,0表示降序,1表示升序
while (scanf("%d %d", &n, &order) == 2) {
Student students[n]; // 定义一个学生数组
// 输入学生信息
for (int i = 0; i < n; i++) {
scanf("%s %d", students[i].name, &students[i].score);
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if ((order == 0 &...
登录后发布评论
暂无评论,来抢沙发