EOJ(排序)——2031. 绝对值排序
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;
}