绝对值排序

来源:互联网 发布:电脑照片合成软件 编辑:程序博客网 时间:2024/06/08 13:40

输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。

#include <iostream>

#include <math.h>

using namespace std;

int main()

{

    int n,a[100],temp;

    while(cin>>n&&n!=0)

    {

            for(int i=0;i<n;i++)

            {

                cin>>a[i];

            }

            for(int i=0;i<n-1;i++)   //冒泡排序法

            {

                for(int j=0;j<n-i-1;j++)

                {

                    if(abs(a[j])<abs(a[j+1]))

                    {

                        temp = a[j];

                        a[j] = a[j+1];

                        a[j+1] = temp;

                    }

                }

            }

            for(int i=0;i<n-1;i++)

            {

                cout<<a[i]<<" ";

            }

            cout<<a[n-1]<<endl;

    }

    return 0;

}