Loading

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

视频讲解

posted @ 2024-01-26 15:24  daizixuan  阅读(42)  评论(0)    收藏  举报