【C语言】交换最大、最小值。输入一个正整数n(1<n≤10),再输入n个整数(<=999),将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。

#include <stdio.h>
#define N 1000
int main()
{
   int n,i,a[N],count1=0,count2=0,t,min,max;
   printf("Input n:");
   scanf("%d",&n);
   printf("Input %d integers:",n);
   for(i=0;i<n;i++)
   {
      scanf("%d",&a[i]);
   }
   min=a[0];
   for(i=0;i<n;i++)
   {
      if(min>a[i])
         min=a[i];
   }
   for(i=0;i<n;i++)
   {
      if(a[i]==min)
         break;
      count1++;
   }
   t=a[0];
   a[0]=min;
   a[count1]=t;
   max=a[0];
   for(i=0;i<n;i++)
   {
      if(max<a[i])
         max=a[i];
   }
   for(i=0;i<n;i++)
   {
      if(a[i]==max)
         break;
      count2++;
   }
   t=a[n-1];
   a[n-1]=max;
   a[count2]=t;
   printf("After swapped:");
   for(i=0;i<n;i++)
   {
      printf("%4d",a[i]);
   }
   return 0;
}

【问题描述】4.4 交换最大、最小值。输入一个正整数n(1<n≤10),再输入n个整数(<=999),将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。

【输入输出样例】

【样例说明】

输入提示符后冒号为英文字符,后面没有空格。

输出整数序列时按照%4d格式输出。