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