19最值
19最值
Description:
有一个长度为n的整数序列。请写一个程序,先把序列中的最小值与第一个数交换,再最大值与最后一个数交换。输出转换好的序列。
Input:
输入包括两行。 第一行为正整数n(1≤n≤10)。 第二行为n个正整数组成的序列。保证输入数据没有重复的数字。
Output:
输出转换好的序列。数据之间用空格隔开。
Sample Input:
5
2 1 5 4 3
Sample Output:
1 2 3 4 5
code
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10]={0};//初始化数组
int n; //数组长度
cin >>n;
//输入数组
for(int i=0;i<n;i++){
cin >> a[i];
}
// 寻找最小值以及下表
int min=a[0];
int min_index=0;
for(int j=0;j <n;j++){
if(a[j]<min){
//更新最小值以及下标
min_index=j;
min=a[j];
}
}
swap(a[min_index],a[0]); //最小值和第一个值交换
//寻找最大值以及下标
int max=a[n-1];
int max_index=n-1;
for(int j=0;j<n;j++){
//更新最大值
if(a[j]>max){
max_index=j;
max=a[j];
}
}
swap(a[max_index],a[n-1]);
for(int i=0;i<n-1;i++){
cout<< a[i]<<" ";
}
cout<<a[n-1];
return 0;
}

浙公网安备 33010602011771号