题解 | #输入整型数组和排序标识,对其元素按照升序或降序进
输入整型数组和排序标识,对其元素按照升序或降序进行排序
https://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309
#include <stdio.h>
#include <stdlib.h>
int comparea(const void* a, const void* b) {
int* intA = (int*)a;
int* intB = (int*)b;
return *intA - *intB;
}
int compared(const void* a, const void* b) {
int* intA = (int*)a;
int* intB = (int*)b;
return *intB - *intA;
}
int main() {
int n, o;
int val[1000];
while (scanf("%d", &n) != EOF) {
for (int i = 0; i < n; i++) {
scanf("%d", &val[i]);
}
scanf("%d", &o);
if (o == 0) {
qsort(val, n, sizeof(int), comparea);
} else if (o == 1) {
qsort(val, n, sizeof(int), compared);
}
for(int i = 0; i < n - 1; i++) {
printf("%d ", val[i]);
}
printf("%d\n", val[n - 1]);
}
return 0;
}

