步骤1:导包
#include<stdlib.h>
步骤2:定义比较函数
①从小到大
// 修改后的比较函数,满足 qsort 的需求
int bijiao(const void *a, const void *b) {
int int_a = *((int *)a);
int int_b = *((int *)b);
if (int_a > int_b) {
return -1;
} else {
return 1;
}
}
②从大到小
// 修改后的比较函数,满足 qsort 的需求
int bijiao(const void *a, const void *b) {
int int_a = *((int *)a);
int int_b = *((int *)b);
if (int_a < int_b) {
return -1;
} else {
return 1;
}
}
步骤3:进行比较
// 调用 qsort 函数进行排序
qsort(arr, n, sizeof(int), bijiao);
完整代码:
#include <stdio.h>
#include <stdlib.h>
// 修改后的比较函数,满足 qsort 的需求
int bijiao(const void *a, const void *b) {
int int_a = *((int *)a);
int int_b = *((int *)b);
if (int_a > int_b) {
return -1;
} else {
return 1;
}
}
int main() {
int arr[3];
// 使用 %d 读取整数
scanf("%d %d %d", &arr[0], &arr[1], &arr[2]);
int n = sizeof(arr) / sizeof(arr[0]);
// 调用 qsort 函数进行排序
qsort(arr, n, sizeof(int), bijiao);
// 打印排序后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
效果展示:
好啦,希望能够帮助到大家!