qsort函数绝对值
时间: 2023-10-16 17:04:12 浏览: 97
qsort函数常见用法v1.1
如果你想使用qsort函数对数组按照绝对值进行排序,可以修改比较函数来实现。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 比较函数,按照绝对值升序排列
int compare_abs(const void *a, const void *b) {
int num1 = abs(*(int*)a);
int num2 = abs(*(int*)b);
return num1 - num2;
}
int main() {
int arr[] = {-5, 2, -8, 1, -9};
int size = sizeof(arr) / sizeof(arr[0]);
qsort(arr, size, sizeof(int), compare_abs);
printf("排序后的数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
排序后的数组:1 2 -5 -8 -9
```
在比较函数`compare_abs`中,我们使用`abs`函数获取元素的绝对值,并按照绝对值的大小进行比较。这样,排序后的数组将按照绝对值的升序排列。
阅读全文