绝对值排序 计蒜客 - T1363
问题描述:
输入 3 个整数,按绝对值从小到大排序。
输入格式:
输入包含 3 个int范围内的整数,用空格隔开。
输出格式:
输出一行,包含三个数,用空格隔开。
若两个数字的绝对值一样,则比较两个数字的大小。
样例输入:
1 3 -3
样例输出:
1 -3 3
- 参考程序
#include<iostream>
#include<algorithm>
using namespace std;
const int N=10;
int a[N];
bool cmp(int a,int b) { //自定义一个返回绝对值大小的函数
if(abs(a)!=abs(b)) return abs(a)<abs(b);
return a<b;
}
int main() {
for(int i=0; i<3; i++) cin>>a[i];
sort(a, a+3, cmp);
for (int i=0; i<3; i++) {
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}