1. 程式人生 > >特殊排序 C語言實現

特殊排序 C語言實現

題目描述

輸入一系列整數,將其中最大的數挑出,並將剩下的數進行排序。

輸入描述

輸入第一行包括1個整數N,1<=N<=1000,代表輸入資料的個數。

接下來的一行有N個整數。

輸出描述

可能有多組測試資料,對於每組資料,

第一行輸出一個整數,代表N個整數中的最大值,並將此值從陣列中去除,將剩下的數進行排序。

第二行將排序的結果輸出。

輸入樣例

5
5 3 2 4 1

輸出樣例

5
1 2 3 4

提示

如果陣列中只有一個數,當第一行將其輸出後,第二行請輸出"-1"

 

 

#include<stdio.h>
int main()
{
	int n,m,j,k,i,T,x;
	int a[10000];
	while (~scanf("%d",&n))
	{
		if (n==1)
		{
			scanf("%d",&x);
			printf("%d\n-1\n",x);
		}
		else
		{
			for (i=0;i<n;i++)
			scanf("%d",&a[i]);
			
			for (i=0;i<n;i++)
			{
				for (j=i+1;j<n;j++)
				{
					if (a[i]>a[j])
					{
						int temp = a[i];
						a[i] = a[j];
						a[j] = temp;
					}
				}
			}
			printf("%d\n",a[n-1]);
			
			for (i=0;i<n-1;i++)
			{
				if (i!=n-2)
				printf("%d ",a[i]);
				else
				printf("%d\n",a[i]);
			}
			
		}
		
	}
	
	return 0;
}