用戶輸入三個數字,比較三個數字大小,並按照從小到大的順序輸出。
老師給的答案如圖,但是小弟怎麼也想不明白,如果a,b或者c其中任意兩個數字相等,代碼怎麼比較的。if總的判斷條件不能成立啊,按理說應該不執行啊,但是最後結果卻沒有影響!求大神賜教
上圖
第一和第二個if相當於找到a,b,c裡的最小,然後賦值給a,賦值完之後a的值並沒有丟失,而是存放在了b或c中的某一個裡;第三個if比較剩下的兩個數,小的賦值給b,這樣a,b,c的順序就是從小到大了。
至於你說的如果有兩個數相等,這種情況下程序保持他們原有的順序不做改變。舉個栗子,輸入的a,b,c分別是3,3,2,那麼第一個if條件不滿足;第二個if滿足,交換a和c之後,三個數為2,3,3,最後第三個if,b這時和c相等,不做交換,所以最後輸出就是2,3,3啦!