010 3個數由小到大排序

2021-10-03 05:54:04 字數 682 閱讀 5248

核心演算法:

借助於中間變數,使3個變數中存放的資料兩兩比較,兩兩交換,先確定乙個最值,再比較另外兩個的大小,使最終a中存放的數值最小,c中存放的數值最大,則按a,b,c的順序輸出就是按3個數公升序排列。

注意:

因為c程式整體上是順序結構,而3個數總共有三次兩兩比較,往往是先確定三者中的乙個最值,再比較另外兩個的大小比較簡單。

所以前兩次必須實現將最小的資料存放到a中或者將最大的資料存放到c中,即前兩次的比較必須都含有a>或者c<,那麼無論前兩個if條件判斷語句是否執行,都會有a裡面存放的資料為最小值或者c裡面存放的資料為最大值。

例:任意輸入3個整數,程式設計實現對這3個整數由小到大進行排序,並將排序後的結果顯示在螢幕上。

#include

intmain()

if(a>c)

/*如果a大於c,借助中間變數t實現a與c值的互換,無論是否執行都有a

if(b>c)

/*如果b大於c,借助中間變數t實現b與c值的互換,無論是否執行,都有b

printf

("the order of the number is %d,%d,%d\n"

,a,b,c)

;return0;

}

5 三個數由小到大輸出

coding utf 8 題目 輸入三個整數x,y,z,請把這三個數由小到大輸出。程式分析 我們想辦法把最小的數放到x上,先將x與y進行比較,如果x y則將x與y的值進行交換,然後再用x與z進行比較,如果x z則將x與z的值進行交換,這樣能使x最小。方法一 利用3個變數按小到大儲存3個數 x int...

堆排序分析(大根堆為例,由小到大排序)

時間複雜度為o nlogn 思路就是從最後乙個非葉結點開始,依次往回遍歷每個結點,將以該結點為根的子樹建立成大根堆,直到遍歷到整棵完全二叉樹的根結點時為止,此時整棵樹為大根堆。以當前結點為根的子樹建立大根堆 向下調整,將該結點的子樹變成大根堆 void adjustdown int a,int k,...

將三個數由小到大輸出 C與C 實現

問題 輸入三個整數x,y,z,請把這三個數由小到大輸出。程式分析 1 先將x與y進行比較,如果x y則將x與y的值進行交換。2 然後將 x與z進行比較,如果x z則將x與z的值進行交換,這樣能使x最小。3 最後將y與z進行比較,如果y z則將y與z的值進行交換。c實現 define crt secu...