题目描述:
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
输入:
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
输出:
对于每组输入,输出交换后的结果。
样例输入:
2
1 3
样例输出:
3 1
代码:
#include <iostream>
using namespace std;
int main(){
int n,num[201];
while(cin>>n){
int max=0,min = 999999999,max_pos =0,min_pos=0; //调换的时候也需要调换pos
for(int i=0;i<n;i++){
cin>>num[i];
if(num[i]>max){
max = num[i];
max_pos = i;
}
if(num[i]<min){
min = num[i];
min_pos = i;
}
}
//交换
int temp = num[max_pos];
num[max_pos] = num[min_pos];
num[min_pos] = temp;
for(int j=0;j<n-1;j++){
cout<<num[j]<<" ";
}
cout<<num[n-1]<<endl;
}
return 0;
}