用C语言编程,输入n个数,按绝对值从小到大排序后输出
时间: 2024-02-13 12:01:21 浏览: 83
C语言实现3个数从小到大排序/输出的方法示例
好的,我来回答你的问题。下面是用C语言编写的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于qsort排序
int cmp(const void *a, const void *b) {
int x = abs(*(int*)a);
int y = abs(*(int*)b);
return x - y;
}
int main() {
int n, i;
int a[1000];
// 输入n个数
printf("请输入n个数:");
scanf("%d", &n);
printf("请输入这%d个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 按绝对值进行排序
qsort(a, n, sizeof(int), cmp);
// 输出排序结果
printf("按绝对值从小到大排序后的结果为:\n");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
以上代码使用了C语言的qsort函数进行排序,该函数需要传入比较函数cmp,用于指定排序的方式。cmp函数中使用了C语言的abs函数计算绝对值。
阅读全文