B. 实验7-1-5 交换最小值和最大值-CSDN博客

225 阅读1分钟
B. 实验7-1-5 交换最小值和最大值
题目描述

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。


输入

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。


输出

在一行中顺序输出交换后的序列,每个整数后跟一个空格。


样例查看模式 
正常显示
查看格式
输入样例1 
5
8 2 5 1 4
输出样例1
1 2 5 4 8 

 

#include<stdio.h>
int main()
{
	int num[15],i,j,max,min,n,x,t,z,index1,index2;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&num[i]);
	}
	min=num[0];
	for(j=1;j<n;j++)
	{
		if(num[j]<min)
		{
			min=num[j];
			index1=j; 
		}
	}
	t=num[0];
	num[0]=num[index1];
	num[index1]=t;
	
	max=num[0];
	for(z=1;z<n;z++)
	{
		if(num[z]>max)
		{
			max=num[z];
			index2=z;
		}
	}
	t=num[n-1];
	num[n-1]=num[index2];
	num[index2]=t;
	
	for(x=0;x<n;x++)
	{
		printf("%d ",num[x]);
	}
	
	
	
	return 0;
}

该题较为简单,使用数组找出数组中的最大值和最小值并且分别与最后一个数和第一个数交换,最后输出整个数组即可~~~~~