题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

#include <stdio.h>
#define MAXSIZE 30
typedef struct test {
    char a[MAXSIZE];
    int number;
} Grade;
int main() {
    int n;
    while ((scanf("%d", &n)) != EOF) {
        int flag;
        scanf("%d", &flag);
        Grade G[n];
        int i = 0;
        int count = n;
        int m = n;
        int p = n;
        while (n--) {
            scanf("%s %d", G[i].a, &G[i].number);
            i++;
        }
        if (flag == 1) {
            while (m--) {
                for (int k = 0; k < m; k++) {
                    if (G[k].number > G[k + 1].number) {
                        Grade Gn = G[k + 1];
                        G[k + 1] = G[k];
                        G[k] = Gn;
                    }
                }
            }
        } else if (flag == 0) {
            while (p--) {
                for (int q = 0; q < p; q++) {
                    if (G[q].number <G[q + 1].number) {
                        Grade Gm = G[q + 1];
                        G[q + 1] = G[q];
                        G[q] = Gm;
                    }
                }
            }
        } else {
            printf("flag值输入错误\n");
            return 0;
        }
        for (int j = 0; j < count; j++) {
            printf("%s %d\n", G[j].a, G[j].number);
        }
    }
    return 0;
}

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务