九度oj-1053

题目描述:

输入一个数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;
}