版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42449444/article/details/86317508
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
对于每组输入,输出交换后的结果。
2
1 3
3 1
#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;
}