zoukankan      html  css  js  c++  java
  • 绝对值排序

    #include <cstdio>
    #include <cmath>
    #include <set>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	int n;
    	while(scanf("%d", &n) && n != 0)
    	{
    		set<int> s;
    		int a[n], b[n];
    		
    		for(int i = 0; i < n; ++ i)
    		{
    			scanf("%d", &a[i]);
    			s.insert(a[i]);
    			b[i] = abs(a[i]);
    		}
    		
    		sort(b, b + n, greater<int>());
    		
    		for(int i = 0; i < n; ++ i)
    		{
    			if(i == n - 1)
    			{
    				if(s.find(b[i]) == s.end())	cout << -b[i];
    				else	cout << b[i];
    			}
    			else
    			{
    				if(s.find(b[i]) == s.end())	cout << -b[i] << " ";
    				else	cout << b[i] << " ";
    			}
    		}
    		cout << endl;
    	}
    	
    	return 0;
    }
    

      

    #include <cstdio>
    #include <cmath>
    #include <set>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	int n;
    	while(scanf("%d", &n) && n != 0)
    	{
    		int a[n], temp;
    		for(int i = 0; i < n; ++ i)
    		{
    			scanf("%d", &a[i]);
    		}
    		for(int i = 0; i < n; ++ i)
    		{
    			for(int j = 0; j < n - i - 1; ++ j)
    			{
    				if(abs(a[j + 1]) > abs(a[j]))
    				{
    					temp = a[j + 1];
    					a[j + 1] = a[j];
    					a[j] = temp; 
    				}
    			}
    		}
    		for(int i = 0; i < n; ++ i)
    		{
    			if(i)	printf(" %d", a[i]);
    			else	printf("%d", a[i]);
    		}
    		printf("
    ");
    	}
    	
    	return 0;
    }
    

      

  • 相关阅读:
    初识Ubuntu 18.04(更换系统头像,截图,sy)
    HDU
    HDU
    进度1
    开课博客
    返回一个整数数组中最大子数组的和
    开学第一节课测试感受
    网页记账本开发四(基本完成)
    网页记账本开发三
    网页记账本开发二
  • 原文地址:https://www.cnblogs.com/mjn1/p/11265356.html
Copyright © 2011-2022 走看看