题目描述
输入一个数n,然后输入n个数值各不相同,调换数组中最大和最小的两个数,然后输出。
输入描述:
测试数据有多组,输入n(1<=n<=20),接着输入n个数。
输出描述:
对于每组输入,输出交换后的结果。
示例1
输入
2
1 3
输出
3 1
代码:
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<string.h>
#include<iostream>
#include<iomanip>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
int main()
{
int n;
int number[21];
while(cin >> n){
for(int i = 0; i < n;i++){
cin >> number[i];
}
int maxindex = 0,minindex = 0;
int max = number[0];
int min = number[0];
for(int i = 1; i < n; i++){
if(max < number[i]){
maxindex = i;
max = number[i];
}
if(min > number[i]){
minindex = i;
min = number[i];
}
}
swap(number[maxindex],number[minindex]);
/* 不会用swap 的用交换位置
int temp = number[minindex];
number[minindex] = number[maxindex];
number[maxindex] = temp;
*/
for(int i = 0; i < n; i++){
cout << number[i] << " ";
}
cout << endl;
}
return 0;
}