A
来源:互联网 发布:淘宝新版怎样发布宝贝 编辑:程序博客网 时间:2024/06/11 17:37
最简单的排序,没啥可说的,其中调用sort对结构体进行排序时要重载cmp
输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
3 3 -4 24 0 1 2 -30
-4 3 2-3 2 1 0
#include<iostream>#include<algorithm>using namespace std;typedef struct{ int num; int abs;}ss;bool cmp(ss s1,ss s2){ return s1.abs>s2.abs;}int main(){ int n; while(cin>>n&&n!=0) { ss s[100]; for(int i=0;i<n;i++) { cin>>s[i].num; if(s[i].num>=0)s[i].abs=s[i].num; else s[i].abs=-1*s[i].num; } sort(s,s+n,cmp); for(int i=0;i<n;i++) if(i==n-1)cout<<s[i].num<<endl; else cout<<s[i].num<<" "; } return 0;}
阅读全文