題目描述
輸入一個數n,然後輸入n個數值各不相同,調換數組中最大和最小的兩個數,然後輸出。
輸入格式
測試數據有多組,輸入n(1<=n<=20),接着輸入n個數。
輸出
對於每組輸入,輸出交換後的結果。
樣例輸入
5
1 2 3 4 5
樣例輸出
5 2 3 4 1
代碼如下:
#include<stdio.h>
int main()
{
long n,a[30],i,j,min,max,b[30],c;
long temp;
while(scanf("%d",&n)!=EOF)
{
c=1;
min=1;max=1; // 令最大數與最小數的位置爲a[1] a[1]
for(i=1;i<=n;i++){
scanf("%d",&a[i]); b[i]=a[i];
}
for (i=1;i<=n;i++){
if (a[min]>a[i])
min=i;
}
for (i=1;i<=n;i++){
if (a[max]<a[i])
max=i;
}
temp=b[max];
b[max]=b[min];
b[min]=temp;
for (i=1;i<=n;i++){
if (i==n) c=2;
if (c==1){
printf ("%d ",b[i]);
}
else printf ("%d",b[i]);
}
printf ("\n");
}
return 0;
}