文章

3

粉丝

0

获赞

3

访问

280

头像
成绩排序 纯C题解:
P1151 清华大学上机题
发布于2024年4月2日 09:56
阅读数 127

关键在于排序的稳定性,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 &...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发