用C语言,输入n(n<=100)个整数,按照绝对值从大到小排序后输出 输入格式: 输入数据的第一个数字为n,接着是n个整数。 输出格式: 按照绝对值从大到小排序后输出n个整数,两数之间空格隔开,最后一个数后面无空格。
时间: 2024-05-01 09:18:56 浏览: 130
ACM做题时的小技巧
以下是用C语言实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义比较函数,用于排序
int cmp(const void *a, const void *b) {
int x = abs(*(int *)a);
int y = abs(*(int *)b);
return y - x;
}
int main() {
int n, i;
int arr[100];
// 输入n和n个整数
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 调用qsort函数进行排序
qsort(arr, n, sizeof(int), cmp);
// 输出排序后的结果
for (i = 0; i < n - 1; i++) {
printf("%d ", arr[i]);
}
printf("%d", arr[n - 1]);
return 0;
}
```
代码的思路是先定义一个比较函数`cmp`,用于按照绝对值从大到小排序。然后在主函数中输入n和n个整数,调用`qsort`函数进行排序,最后输出排序后的结果。
阅读全文