本题是很简单的一道题不需要什么算法只需要知道abs来判断 如果是float就用fabs
#include <iostream>
#include <cmath>
#include<cstdio>
using namespace std;
int main()
{
int n;
int a[110];
while(cin>>n&&n){
int i,j,t;
for(i=0; i<n; i++)
cin>>a[i];
for(i=0; i<n-1; i++){
for(j=i+1; j<n; j++)
if(abs(a[i]) < abs(a[j])){
t = a[i]; a[i] = a[j]; a[j]=t;
}
}
for(i=0; i<n; i++)
if(i==0)
cout<<a[i];
else
cout<<" "<<a[i];
cout<<endl;
}
return 0;
}