3 3 -4 2 4 0 1 2 -3 0
-4 3 2 -3 2 1 0
#include<iostream>
#include <cmath>
using namespace std;
int main()
{
int a[101],b[101];
int n,i,j,s;
while(cin>>n&&n!=0)
{
{
for(i=1; i<=n; i++)
cin>>a[i];
}
for(i=1; i<=n; i++)
{
if(a[i]<0) b[i]=-a[i];
else b[i]=a[i];
}
for(i=1; i<=n-1; i++)
for(j=1; j<=n-i; j++)
{
if(b[j]<b[j+1])
{
s=b[j];
b[j]=b[j+1];
b[j+1]=s;
}
}
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
{
if(fabs(a[j])==b[i])
cout<<a[j]<<‘ ‘;
continue;
}
}
return 0;
}
思路。。。
首先想到,,定义两组数组,,首先输入一组数据,,将数组一赋值给数组二,如数组一得数是负数,,将它的相反数赋值给数组二,,
这样就得到一个正数的数组,,然后用冒泡排序法,,将数组二的数比较大小,按从大到小排列,最后输出。。
原文:http://www.cnblogs.com/cxx19961122/p/3555669.html