#include<iostream>
using namespace std;
void bubbleSort(int *a,int n){
int temp;
for(int i=0;i<n;i++){
for(int j=n-1;j>i;j--){
if(a[j]>a[j-1]){
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
}
int main(){
int n;
while(cin>>n && n!=0){
int a[101],b[101]={0},k=0;//k用于控制b数组的连续
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
if(a[i]<0){
b[k]=a[i];
a[i]=-a[i];
k++;
}
}
bubbleSort(a,n);
for(int i=0;i<n;i++){
for(int j=0;j<k;j++){
if(a[i]==(-b[j])) //所有绝对值不等
a[i]=b[j];
}
}
for(int i=0;i<n;i++){
if(i!=n-1)
cout<<a[i]<<" ";
else
cout<<a[i]<<endl;
}
}
return 0;
}
总结:数组下标这个东西完全就和高数中的无穷级数的下标有的一拼,错一个就错了很多啊。