EOJ(排序)——2031. 絕對值排序
阿新 • • 發佈:2019-01-11
2031. 絕對值排序
給你 n(n⩽100) 個數,要求你把這 n 個數按照絕對值從小到大排序。
多 Case,處理直到檔案結束。
輸入
輸入一個數 n,接下來一行是 n 個整數 (−10000<n<10000)。
輸出
排序後按照絕對值從小到大輸出 n 個數,輸出一行,每兩個數字之間有個空格,最後一個數字後面沒空格。
樣例
input
4
-3 -4 1 2
1
10
output
1 2 -3 -4
10
題目大意:
按絕對值排序。
題目解析:
sort函式,自定義排序規則。
具體程式碼:
#include<iostream>
#include<algorithm>
#include<stdlib.h>
using namespace std;
int A[110];
bool cmp(int x,int y){
return abs(x)<abs(y);
}
int main()
{
int n;
while(cin>>n){
for(int i=0;i<n;i++)
cin>>A[i];
sort(A,A+n,cmp);
for(int i=0;i<n;i++){
cout<< A[i];
if(i!=n-1)
cout<<" ";
else
cout<<endl;
}
}
return 0;
}