1. 程式人生 > >HDU 2020 絕對值排序

HDU 2020 絕對值排序

ble mes esp 一個空格 hdu href cpp 數字 out

http://acm.hdu.edu.cn/showproblem.php?pid=2020

Problem Description 輸入n(n<=100)個整數,按照絕對值從大到小排序後輸出。題目保證對於每一個測試實例,所有的數的絕對值都不相等。 Input 輸入數據有多組,每組占一行,每行的第一個數字為n,接著是n個整數,n=0表示輸入數據的結束,不做處理。 Output 對於每個測試實例,輸出排序後的結果,兩個數之間用一個空格隔開。每個測試實例占一行。 Sample Input 3 3 -4 2 4 0 1 2 -3 0 Sample Output -4 3 2 -3 2 1 0 代碼:
#include <bits/stdc++.h>

using namespace std;

int a[111];

bool cmpabs(int x,int y)
{
    return abs(x)>abs(y);
}

int main()
{
    int n,falg=0;
    while(~scanf("%d",&n))
    {
        if(n==0)
            break;
        else
        {
            for(int i=1; i<=n; i++)
            {
                scanf("%d",&a[i]);
            }
            sort(a+1,a+1+n,cmpabs);
            for(int i=1; i<=n; i++)
            {
                if(i!=n)
                    printf("%d ",a[i]);
                else
                    printf("%d\n",a[i]);
            }
        }
    }
    return 0;
}

  

HDU 2020 絕對值排序