求三個整數中的中位數


比如三個整數是 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);
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM