一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學(xué)論壇

 找回密碼
 注冊(開放注冊)
搜索
查看: 2958|回復(fù): 0
打印 上一主題 下一主題

[計算機類] 求三個數(shù)中最大者的幾種方法!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2006-9-7 15:39:50 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


方法1:根據(jù)基本算法編制函數(shù)

下面直接給出程序。
int my_max(int x,int y,int z)
{
 int max;
 max=x;
 if(y>max)max=y;
 if(z>max)max=z;
 return max;
}


方法2: 用條件運算符

假設(shè)三個數(shù)存放在三個變量x,y,z中,可用下面的條件運算符求得最大數(shù)。
(1) 不用中間變量
   x>y ? (x>z?x:z)y>z?y:z)
算法說明:先將x和y比較,若x>y,則最大數(shù)必定在x和z中間,因此再取x和z中的最大者;否則,最大數(shù)必定在y和z中間,因此就取y和z中的最大者。

(2) 用一個中間變量m
  (m=x>y?x:y)>z?m:z
算法說明:先取x和y的最大者并賦值給m,然后求m和z中的最大者

(3) 不用中間變量
  (x>y&&x>z)?xy>z?y:z)
算法說明:先看x是否比y和z都大,若是,x即為最大者,否則,最大者必定在y和z中間,因此就取y和z的最大者。


方法3:用宏

(1)定義帶三個參數(shù)的宏
先定義如下帶參數(shù)的宏
#define MAX(x,y,z) (((x)>(y)&&(x)>(y))?(x)(y)>(z)?(y):(z)))
然后在程序中使用上述宏替換即可。
注意:(1)上述宏定義中的每個形參及整個宏體都要加上小括號,原因請參閱“定義帶參數(shù)的宏時,宏體中的形參為什么一定要加小括號?”專題。(2)該宏定義中使用了方法2中(3)的算法。也可以使用其中的(1)或(2)的算法來定義宏體。
(2)定義帶二個參數(shù)的宏
#define MAX(x,y) ((x)>(y)?(x):(y))
使用時,應(yīng)該這樣:MAX(MAX(a,b),c),其中的a、b、c為實參,它的算法與方法2中的(2)是一樣的。

轉(zhuǎn)貼自:http://www.hljcre.com/dispbbs.asp?boardID=15&ID=1866
您需要登錄后才可以回帖 登錄 | 注冊(開放注冊)

本版積分規(guī)則

手機訪問本頁請
掃描左邊二維碼
本網(wǎng)站聲明
本網(wǎng)站所有內(nèi)容為網(wǎng)友上傳,若存在版權(quán)問題或是相關(guān)責(zé)任請聯(lián)系站長!
站長電話:0898-66661599    站長聯(lián)系QQ:12726567   
站長微信:hainanok
請掃描右邊二維碼
www.myujob.com

小黑屋|手機版|Archiver|重慶醫(yī)科大學(xué)論壇 ( 瓊ICP備10001196號-2 )

GMT+8, 2025-11-19 01:04 , Processed in 0.833227 second(s), 14 queries .

Powered by 校園招聘信息

© 2001-2020 重慶醫(yī)科大學(xué)論壇校園招聘

快速回復(fù) 返回頂部 返回列表