文章

17

粉丝

177

获赞

2

访问

110.9k

头像
C语言stdlib.h库下有qsort函数
P1010 兰州大学2018/贵州大学2018年机试
发布于2021年9月10日 15:40
阅读数 9.5k

//排序首先对第二关键字排序,再对第一关键字排序。最先排顺序最大的关键字

#include <stdio.h>
#include <stdlib.h>

// qsort排序函数原型,只能这么写,指针类型在函数体强转,具体可以搜寻C++ reference网站找标准库的用法
int cmp1(const void* a, const void* b){ //奇偶
    if((*(int*)a) % 2 != 0 && (*(int*)b) % 2 == 0){
        return -1;
    }else if((*(int*)a) % 2 == 0 && (*(int*)b) % 2 != 0){
        return 1;
    }else return 0;
}
int cmp2(const void* a, const void* b){//大小
    return ((*(int*)a) - (*(int*)b));
}
int main(){
    int n, a[1000];
    scanf("%d", &n);
    for(int i = 0;i < n;i++)
        scanf("%d", &a[i]);

    //题目奇偶第一关键字,大小第二。所以先排第二,后排第一
    qsort(a, n, sizeof(int), cmp2);
    qsort(a, n, sizeof(int), cmp1);
    for(int i =...

登录查看完整内容


登录后发布评论

1 条评论
xjnotywlq
2024年3月7日 17:05

你这也不对啊

 

赞(0)