题目描述:
输入一个数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;
}