互换最大数最小数

时间:2019-01-11
本文章向大家介绍互换最大数最小数,主要包括互换最大数最小数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目描述:

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

输入描述:

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

输出描述:

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

输入样例:

2
1 3

输出样例:

3 1

AC代码:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[n];
    int max_ans = -1e5;   //记录最大值
    int max_index;  //记录最大值所在下标
    int min_ans = 1e5;  //记录最小值
    int min_index;  //记录最小值所在下标
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
        if(a[i] > max_ans)
        {
            max_ans = a[i];
            max_index = i;
        }
        if(a[i] < min_ans)
        {
            min_ans = a[i];
            min_index = i;
        }
    }
    swap(a[min_index],a[max_index]);
    for (int i = 0; i < n; i++)
    {
        cout << a[i];
        if(i < n-1)
        {
            cout << " ";
        }
    }
    return 0;
}