c011函數(shù)應(yīng)用.ppt

c011函數(shù)應(yīng)用.ppt

ID:48181833

大?。?25.00 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2020-01-18

c011函數(shù)應(yīng)用.ppt_第1頁(yè)
c011函數(shù)應(yīng)用.ppt_第2頁(yè)
c011函數(shù)應(yīng)用.ppt_第3頁(yè)
c011函數(shù)應(yīng)用.ppt_第4頁(yè)
c011函數(shù)應(yīng)用.ppt_第5頁(yè)
資源描述:

《c011函數(shù)應(yīng)用.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、第11講函數(shù)應(yīng)用數(shù)學(xué)計(jì)算機(jī)科學(xué)系第11講函數(shù)應(yīng)用本講主要內(nèi)容一、函數(shù)的嵌套調(diào)用二、函數(shù)的遞歸調(diào)用1.公式遞歸問(wèn)題2.過(guò)程遞歸問(wèn)題三、數(shù)組作為函數(shù)的參數(shù)1.數(shù)組元素作為函數(shù)參數(shù)2.數(shù)組名作為函數(shù)參數(shù)函數(shù)定義、聲明、調(diào)用要點(diǎn):1.形參個(gè)數(shù)及類型;2.需要不需要返回值;3.當(dāng)有返回值時(shí),其類型決定函數(shù)類型;4.函數(shù)體中使用的變量可根據(jù)需要隨時(shí)增減。函數(shù)定義函數(shù)聲明1.聲明語(yǔ)句出現(xiàn)在主調(diào)函數(shù)中;2.聲明中可省略形參名,但不能省略形參類型;3.何時(shí)可省略聲明語(yǔ)句。函數(shù)調(diào)用1.函數(shù)調(diào)用出現(xiàn)在主調(diào)函數(shù)中;2.調(diào)用形式為:函數(shù)名(實(shí)參列表);3.要明確是傳值調(diào)用(單向)還是傳址調(diào)用(雙向)。返回一、

2、函數(shù)的嵌套調(diào)用1.函數(shù)的嵌套函數(shù)嵌套是指在一個(gè)自定義函數(shù)的函數(shù)體中,又出現(xiàn)了另外自定義函數(shù)的調(diào)用。如函數(shù)a調(diào)用函數(shù)b,函數(shù)b又調(diào)用函數(shù)c等。例10-1:已知組合數(shù):求對(duì)于任意m、n時(shí)的值。返回2.函數(shù)的嵌套舉例例10-1:已知組合數(shù)floatfac(intk){inti;floatf;for(i=1,f=1;i<=k;i++)f*=i;return(f);}floatcmn(intm,intn){floatres;res=fac(m)/(fac(n)*fac(m-n));return(res);}main(){intm,n;floatt;scanf("%d,%d",&m,&n);t=

3、cmn(m,n);printf("C(%d,%d)=%f",m,n,t);}求對(duì)于任意m、n時(shí)的值求階乘fac函數(shù)cmn函數(shù)主函數(shù)調(diào)用了scanf()、cmn()、printf()函數(shù)三次調(diào)用了fac()函數(shù)返回二、函數(shù)的遞歸調(diào)用1.公式遞歸問(wèn)題例10-2用遞歸方法求:基本過(guò)程分兩步:⑴寫出遞歸公式;⑵將遞歸公式函數(shù)化;例10-3用遞歸方法求n!2.過(guò)程遞歸問(wèn)題有的問(wèn)題不能直接用一個(gè)遞歸公式進(jìn)行描述,但處理過(guò)程包含了遞歸的思路,這一類問(wèn)題稱為過(guò)程遞歸。最典型的過(guò)程遞歸問(wèn)題——漢諾塔問(wèn)題!返回intsum(intn){if(n==1)return(1);elsereturn(sum

4、(n-1)+n);}main(){intn;scanf("%d",&n);printf("%d",sum(n);}例10-2用遞歸方法求:遞歸公式:編寫主調(diào)函數(shù):遞歸函數(shù)sum()的調(diào)用變化演示圖返回intsum(intn){if(n==1)return(1);elsereturn(sum(n-1)+n);}遞歸函數(shù)sum的調(diào)用變化示意圖假設(shè)n=3{return(sum(2)+3);}sum(3)函數(shù)體{return(sum(1)+2);}sum(2)函數(shù)體{return(1);}sum(1)函數(shù)體133main(){intn;scanf("%d",&n);printf("%d

5、n",sum(n);}66返回例10-3用遞歸方法求n!遞歸公式:longfact(intn){if(n<=1)return(1);elsereturn(n*fact(n-1));}main(){longfact(int);intn;scanf("%d",&n);printf("%d!=%ld",n,fact(n));}返回編寫主調(diào)函數(shù):遞歸函數(shù)fact的自身調(diào)用原理同sum函數(shù)漢諾塔問(wèn)題題目介紹:有三個(gè)柱和n個(gè)大小各不相同的盤子,開(kāi)始時(shí),所有盤子以塔狀疊放在柱A上,要求按一定規(guī)則,將柱A上的所有盤子借助于柱C移動(dòng)到柱B上。移動(dòng)規(guī)則如下:⑴一次只能移動(dòng)一個(gè)盤子。⑵任何時(shí)候不能把盤

6、子放在比它小的盤子的上面。漢諾塔問(wèn)題#includelongi=0;main(){intdisks;voidhanoi(int,char,char,char);printf("Numberofdisks:");scanf("%d",&disks);printf("");hanoi(disks,'A','C','B');}voidmove_disk(charsrc,chardst){if(i==5){printf("");i=0;}i++;printf("%c-->%c",src,dst);}voidhanoi(intn,charsrc,charmid,cha

7、rdst){voidmove_disk(char,char);if(n==1){move_disk(src,dst);return;}hanoi(n-1,src,dst,mid);move_disk(src,dst);hanoi(n-1,mid,src,dst);}返回三、數(shù)組作為函數(shù)的參數(shù)1.數(shù)組元素作為函數(shù)參數(shù)數(shù)組元素作為函數(shù)的參數(shù)時(shí),只傳送作為實(shí)參的數(shù)組元素,此時(shí)按使用其他簡(jiǎn)單變量的方法使用數(shù)組元素?!祩鬟f!例10-5把一個(gè)整型數(shù)組的所有素?cái)?shù)找出

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。