问题 A: C语言-数字交换
时间限制: 1 Sec 内存限制: 128 MB
提交: 593 解决: 193
[提交][状态][讨论版][命题人:外部导入]
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
注意:max可能在a[0]而min可能在a[9] 所以要分开找max和min,不能放在一起找,如:max先调后到9后,可能将位于9处的min调走了,再直接掉min就不准了
#include<iostream>
using namespace std;
int main(){
int a[10];
while(cin>>a[0]){
int min=0,max=0;
for(int i=1;i<10;i++){
cin>>a[i];
if(a[i]>a[max]) max=i;
}
swap(a[9],a[max]);
for(int i=0;i<10;i++){
if(a[i]<a[min]) min=i;
}
swap(a[min],a[0]);
for(int i=0;i<10;i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
return 0;
}