杭电oj绝对值排序

版权声明:https://blog.csdn.net/qq_43129582/article/details/83213278 https://blog.csdn.net/qq_43129582/article/details/84032066

绝对值排序

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

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

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

Sample Input 3 3 -4 2 4 0 1 2 -3 0

Sample Output
-4 3 2
-3 2 1 0

Author lcy

Source C语言程序设计练习(三)

Recommend lcy | We have carefully selected several similar
problems for you: 2017 2025 2012 2022 2023

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

	 return 0;
 }

猜你喜欢

转载自blog.csdn.net/qq_43129582/article/details/84032066