7 5 交換最小值和最大值

2021-10-25 10:59:24 字數 911 閱讀 1214

本題要求編寫程式,先將輸入的一系列整數中的最小值與第乙個數交換,然後將最大值與最後乙個數交換,最後輸出交換後的序列。

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

輸入格式:

輸入在第一行中給出乙個正整數n(≤10),第二行給出n個整數,數字間以空格分隔。

輸出格式:

在一行中順序輸出交換後的序列,每個整數後跟乙個空格。

輸入樣例:

58 2 5 1 4

輸出樣例:

1 2 5 4 8

這個題如果最大值和最小值不在第一位和最後一位的話非常好做,如果最大值在第一位,那我交換之後最小的數成為了第乙個,但是我記住的最大值下標是0,如果再直接交換最大值和最後乙個就會把第乙個數跟最後乙個數換,我們可以先交換最小值和第乙個數,再用乙個迴圈找到max的下標,再將max與最後乙個數交換。

我用的是分情況,看第乙個數是不是最大值,較為繁瑣,**如下

#include 

int main()

int max=a[0]

; num1=0;

for(int i=

1;i)//找最大數,記住下標num1

} int min=a[0]

; num2=0;

for(int i=

1;i)//找最小數,記住下標num2

} int temp;

if(max==a[0]

)//如果第乙個數是最大數,將min與max互換,再將max與最後乙個數互換

//因為我的else是先換的最小值,所以不用再加如果最後乙個數是最小數

else

for(int i=

0;i)//輸出

return0;

}

你們可以用上面說的第乙個方法,非常簡單。

交換最小值和最大值

本題要求編寫程式,先將輸入的一系列整數中的最小值與第乙個數交換,然後將最大值與最後乙個數交換,最後輸出交換後的序列。注意 題目保證最大和最小值都是唯一的。輸入格式 輸入在第一行中給出乙個正整數n 10 第二行給出n個整數,數字間以空格分隔。輸出格式 在一行中順序輸出交換後的序列,每個整數後跟乙個空格...

交換最小值和最大值

此題使用函式做法 7 4 交換最小值和最大值 15分 本題要求編寫程式,先將輸入的一系列整數中的最小值與第乙個數交換,然後將最大值與最後乙個數交換,最後輸出交換後的序列。注意 題目保證最大和最小值都是唯一的。輸入格式 輸入在第一行中給出乙個正整數n 10 第二行給出n個整數,數字間以空格分隔。輸出格...

PTA 交換最小值和最大值

本題要求編寫程式,先將輸入的一系列整數中的最小值與第乙個數交換,然後將最大值與最後乙個數交換,最後輸出交換後的序列。注意 題目保證最大和最小值都是唯一的。輸入格式 輸入在第一行中給出乙個正整數n 10 第二行給出n個整數,數字間以空格分隔。輸出格式 在一行中順序輸出交換後的序列,每個整數後跟乙個空格...