题目1185:特殊排序

来源:互联网 发布:3d合值九宫计算法 编辑:程序博客网 时间:2024/06/11 01:40
题目描述:

输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序。

输入:
输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。
接下来的一行有N个整数。
输出:
可能有多组测试数据,对于每组数据,
第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。
第二行将排序的结果输出。
样例输入:
41 3 4 2
样例输出:
41 2 3
提示:

如果数组中只有一个数,当第一行将其输出后,第二行请输出"-1"。

来源:

2003-2005年华中科技大学计算机研究生机试真题

#include<iostream>#include<algorithm>using namespace std;int main(){int n;int i;while(cin>>n&&n>=1<=1000){int a[1000+10];for(i=0;i<n;i++){cin>>a[i];}sort(a,a+n);cout<<a[n-1]<<endl;if(n==1){cout<<"-1"<<endl;}else{for(i=0;i<n-1;i++){if(i==n-2)cout<<a[i]<<endl;else cout<<a[i]<<" "; }}}return 0;}


0 0