杭电ACM--HDU-2020绝对值排序

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2020


题目大意:输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。对于每个测试

实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行 。


这个题目的关键是提供的数据中会出现负数,求出负数绝对值进行比较之后,按照绝对值大小输出的数必须是原来的数据。为了解

决这个问题我利用了sort排序函数和abs函数(绝对值进行比较)。 


代码如下:

#include
#include
using namespace std;
bool cmp(int a,int b)
{
    return abs(a)>abs(b);//abs()绝对值进行比较,比较大小
}
int main()
{
    int n,i,s[100];
    while(cin>>n&&n!=0)
    {
        for(i=0;i>s[i];
        }
        sort(s,s+n,cmp);//sort排序
        
        for(i=0;i

 





你可能感兴趣的:(杭电ACM--HDU-2020绝对值排序)