2074 - 最大游戏(二)
给你一个乱序的整型数组,请输出其中最大的那个元素在原先数组中的位置并且将原数组按照从小到大的顺序输出。
Input
有多组测试数据。
第一行是一个n(0<n<=100),表示接下来的数组有n个元素(都是正整数),输入0是表示结束,将不再进行计算。
接下来一行输入n个数据,每个数据以空行隔开。
测试数据保证int范围内。
Output
对于每一组输入的数据有两行输出。
第一行是其中最大的元素所在原数组的位置,如果多个则输出最后一个(数组标号从1计起)。
第二行是排序过后的数组,每两个数据中间一个空格(最后面的数据后面没有空格)
Examples
Input
3 1 2 3 0
Output
3 1 2 3
Solution C++
#include <iostream> #include <algorithm> using namespace std; int main() { int n, i, num, maxn, a[110]; while(cin>>n && n) { maxn = 0; for(i=0; i<n; i++) { cin>>a[i]; if(a[i] >= maxn) { num = i; maxn = a[i]; } } cout<<num+1<<endl; sort(a, a+n); for(i=0; i<n; i++) { if(i == 0) cout<<a[i]; else cout<<' '<<a[i]; } cout<<endl; } return 0; }