比如三個整數是 10 12 11,輸出11
還是按照從結果出發思考問題
我們用middle變量來存放中位數
那么肯定有int middle
用戶輸入三個數分別是a b c
最后的結果無非是a是中位數 或者b是中位數 或者c是中位數
如果a是中位數則,middle=a
那么a是中位數滿足什么條件呢?
想不出來沒關系,我們可以舉個例子
a是總位數,要么是這種情況
8 7 9 要么是 8 9 7,則一定滿足(8-7)(8-9)小於0
也就是(a-b)*(a-c)<0
其它情況也是同樣的道理,這種思考問題的方法真的挺不錯的。
int main(void) { int middle; int a, b, c; scanf_s("%d %d %d",&a,&b,&c); if ((a-b)*(a-c)<0) { middle = a; } if ((b-a)*(b-c)<0) { middle = b; } if ((c-a)*(c-b)<0) { middle = c; } printf("%d",middle); }