题目描述:https://pycoder.blog.csdn.net/article/details/124775838
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int H, N;
int myCmp(const void* a, const void* b) {
int aa = *(int*)a;
int bb = *(int*)b;
int aa_tmp = abs(aa - H);
int bb_tmp = abs(bb - H);
if (aa_tmp != bb_tmp) {
return aa_tmp - bb_tmp;
} else {
return aa - bb;
}
}
int main(void) {
int arr[1000] = {0};
scanf("%d %d", &H, &N);
for (int i = 0; i < N; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, N, sizeof(arr[0]), myCmp);
for (int i = 0; i < N - 1; i++) {
printf("%d ", arr[i]);
}
printf("%d\n", arr[N-1]);
return 0;
}