#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int n;
int set[110]={0},a[110]={0},b[110]={0};
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
while(scanf("%d",&n),n)
{
for(int i=1;i<=n;i++)
{
scanf("%d",&set[i]);
a[i]=abs(set[i]);
}
qsort(a+1,n,sizeof(a[0]),cmp);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(abs(set[j])==a[i])
{
b[i]=set[j];
break;
}
}
}
for(int i=1;i<=n;i++)
{
if(i==1)
printf("%d",b[i]);
else
printf(" %d",b[i]);
}
printf("\n");
}
// system("pause");
return 0;
}
转载于:https://www.cnblogs.com/zhangshu/archive/2011/08/09/2132708.html