文章
17
粉丝
177
获赞
2
访问
118.3k
//排序首先对第二关键字排序,再对第一关键字排序。最先排顺序最大的关键字
#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 =...
登录后发布评论
你这也不对啊