天天看点

C语言实验——最值

Problem Description

有一个长度为n的整数序列,其中最大值和最小值不会出现在序列的第一和最后一个位置。

请写一个程序,把序列中的最小值与第一个数交换,最大值与最后一个数交换。输出转换好的序列。

Input

输入包括两行。

第一行为正整数n(1≤n≤10)。

第二行为n个正整数组成的序列。

Output

输出转换好的序列。数据之间用空格隔开。

Example Input

5
2 1 5 4 3      

Example Output

1 2 3 4 5

#include<stdio.h>

int main()

{

int n,i,a[10],t1,t2,x1=0,x2=0,max,min;

scanf("%d",&n);

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

max=a[0];min=a[0];

for(i=1;i<n;i++)

{

if(max<a[i])

{

max=a[i];

x1=i;

}

if(min>a[i])

{

min=a[i];

x2=i;

}

}

t1=a[0];

t2=a[n-1];

a[0]=min;a[n-1]=max;

a[x1]=t2;

a[x2]=t1;

for(i=0;i<n;i++)

{

   if(i==n-1)

   printf("%d\n",a[i]);

   else

    printf("%d ",a[i]);

}

return 0;

}