题目描述:
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
题解:
本弱鸡刚开始定义求绝对值函数的方式来求,数据总是很奇怪,,,
#include<iostream>
using namespace std;
int main()
{
int n,i;
int a[105];
while(cin>>n)
{
int b[105]={0};
if(n==0) continue;
for(i=0;i<n;i++)
{
cin>>a[i];
if(a[i]<0)
b[i]=-a[i];
else b[i]=a[i];
}
if(n==1) {
cout<<a[0]<<endl;
continue;
}
int j,t,t1;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(b[i]<b[j])
{
t1=b[i];
b[i]=b[j];
b[j]=t1;
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<n-1;i++)
cout<<a[i]<<' ';
cout<<a[n-1]<<endl;
}
return 0;
}