今天遇到乙個問題,求三個數中的中間數。
我的思路是:先求兩個數中的最小數,然後把這個最小數和另乙個數求最大數,這樣就取出了中間數。
求最大數和最小數的巨集定義如下:
#define max(a, b) (((a) > (b) ) ? (a) : (b))
#define min(a, b) (((a) < (b) ) ? (a) : (b))
然後在**中實現求中間數如下:
angletemp = max(temp[0], min(temp[1], temp[2]));
#define max(a, b) (((a) > (b) ) ? (a) : (b))
#define min(a, b) (((a) < (b) ) ? (a) : (b))
#define mid(a,b,c) (max(a,b)>c?max(min(a,b),c):min(max(a,b),c))
總結:遇到問題要分步簡化,用已知的知識求解它。 彙編實現「比較三個數,取中間」
實際上就是個排序題,彙編的分支程式,詳見和 在32位win7 masm5下編譯通過 data segment x db 4 y db 3 z db 6 data ends code segment assume cs code,ds data start mov ax,data mov ds,ax ...
求三個數的最大 最小 中間值
求三個數的最大 最小 中間值 int a 3,b 5 int min a b a b printf min d n min int a 3,b 4 c 8 int min a b a b min min c min c int max a b?a b max max c max c printf m...
c語言入門 比較三個數的大小
if a b else if c max 這是最容易理解的方法在之前判斷兩個數大小的基礎上,在if語句中巢狀乙個if語句,經過多次判斷得出最大數。這樣可以再引用函式中將引用的函式變為max a,b,c 或者在比較兩個數的函式在主程式裡變為max max max a,b c 下面介紹乙個三元運算子,這...