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]<<" ";
}