题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
思路:其实这个题没有必要用queue,不过需要注意的是,第一次进行交换后数组发生了改变,应当在第一次交换完之后再寻找最大的数。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int i,a[10],max,min;
while(scanf("%d",&a[0])!=EOF){
min=a[0];
int index_min=0;
for(i=1;i<10;i++){
cin >>a[i];
if(a[i]<min){
index_min=i;
min=a[i];
}
}
swap(a[0],a[index_min]);
int index_max=0;
max=a[0];
for(i=0;i<10;i++)
if(a[i]>max){
max=a[i];
index_max=i;
}
swap(a[9],a[index_max]);
for(i=0;i<10;i++)
cout <<a[i]<<" ";
cout <<endl;
}
return 0;
}