绝对值从大到小的排序问题,怎么使用 C语言的程序编写的代码的方式有效实现的呢?具体的代码

Problem Description
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。

Input
输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。

Output
对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。

Sample Input
3 3 -4 2
4 0 1 2 -3
0

Sample Output
-4 3 2
-3 2 1 0

其实很简单,就是将输入中的是负数的数存储在另一个数组中,而负数的正数存储在要排序的数组中,然后排序后的结果进行数组循环输出的时候,将循环数和存储负数的数组进行绝对值比较,相等则符号添加回去即可