互换大小数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41648259/article/details/88069301

题目描述

输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。

输入描述:

测试数据有多组,输入n(1<=n<=20),接着输入n个数。

输出描述:

对于每组输入,输出交换后的结果。

示例1

输入

复制

2
1 3

输出

复制

3 1

#include<iostream>
using namespace std;
int buf[20]={0};
int main(){
    int n;
    while(cin>>n){
        for(int i=0;i<n;i++){
            cin>>buf[i];    
        }
        int max,min,pos1=0,pos2=0,k;
        max=buf[0];
        min=buf[0];
        for(k=1;k<n;k++){
            if(buf[k]>max){//寻找最大值位置
                max=buf[k];
                pos1=k;
            }
            if(buf[k]<min){//寻找最小位置
                min=buf[k];
                pos2=k;
            }
        }
        int tmp=buf[pos2];
        buf[pos2]=buf[pos1];
        buf[pos1]=tmp;
        for(k=0;k<n;k++) cout<<buf[k]<<" ";
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41648259/article/details/88069301