【入门】绝对值排序 【排序】

来源:互联网 发布:dnf打团网络冲突 编辑:程序博客网 时间:2024/06/08 04:58

题目描述

输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。

输入

输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。

输出

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

样例输入

3 3 -4 24 0 1 2 -30

样例输出

-4 3 2-3 2 1 0

#include <iostream>#include <cstdlib>using namespace std;int main(){int n,a[100],i,j,max,t;while(cin>>n){for(i=0;i<n;i++)cin>>a[i];for(i=0;i<n-1;i++){max=i;for(j=i+1;j<n;j++)if(abs(a[j])>abs(a[max]))max=j;if(max!=i){t=a[i];a[i]=a[max];a[max]=t;}}for(i=0;i<n;i++){cout<<a[i];if(i!=n-1)cout<<" ";}cout<<endl;}return 0;}


0 0
原创粉丝点击