特殊排序 C語言實現
阿新 • • 發佈:2018-12-18
題目描述
輸入一系列整數,將其中最大的數挑出,並將剩下的數進行排序。
輸入描述
輸入第一行包括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; }