1201: 【入门】移动数组元素
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:43
解决:20
题目描述
在一个不重复的数组中,请将这个数组的最小数和数组第一个数交换,最大数和数组最后一个数交换!
输入
有两行 第一行有一个整数n ( 5 <= n <= 100 ) 第二行有n个不重复的整数!
输出
移动位置后的数组!
样例输入 复制
5
6 7 1 10 4
样例输出 复制
1 7 6 4 10
提示
n=int(input())
ls=list(map(int,input().split()))
minV=min(ls)
minI=ls.index(minV)
maxV=max(ls)
maxI=ls.index(maxV)
ls[0],ls[minI]=ls[minI],ls[0]
ls[n-1],ls[maxI]=ls[maxI],ls[n-1]
print(' '.join(map(str,ls)))
#include <iostream>
using namespace std;
int main(){
int i,n,t,maxx=0,minx=0;
int a[110];
cin>>n;
for(i = 0;i < n;i++)
cin>>a[i];
for(i = 1;i < n;i++){
if(a[i] < a[minx])
minx = i;
if(a[i] > a[maxx])
maxx = i;
}
if(minx != 0){
t = a[minx];
a[minx] = a[0];
a[0] = t;
}
if(maxx != n - 1){
t = a[maxx];
a[maxx] = a[n - 1];
a[n - 1] = t;
}
for(i = 0;i < n;i++)
cout<<a[i]<<" ";
}