




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
函數的遞歸調用及實例主講教師:金紅內蒙古建筑職業(yè)技術學院4.2.6CONTENTS目錄PART01函數的遞歸調用及實例01函數的遞歸調用及實例intf(intx){inty,z;z=f(y);//在執(zhí)行f函數過程中又要調用f函數
return(2*z);}
在調用一個函數的過程中,又出現直接或間接地調用該函數本身,稱為函數的遞歸調用。定義函數的遞歸調用及實例函數的遞歸調用及實例intf(intx){inty,z;……
z=f(y);…….return(2*z);}intf1(intx){inty,z;……
z=f2(y);…….return(2*z);}intf2(intt){inta,c;……
c=f1(a);…….return(3+c);}f()調f調f2調f1f1()f2()函數的遞歸調用及實例
有5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第3個人,又說比第2個人大2歲。問第2個人,說比第1個人大2歲。最后問第1個人,他說是10歲。請問第5個人多大?例age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10用數學公式表述如下:age(n)=10(n=1)age(n-1)+2(n>1)函數的遞歸調用及實例age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10age(5)=18age(4)=16age(2)=12age(3)=14A求解兩個階段:第一階段回推、第二階段遞推。B遞推結束的終止條件:第1個人10歲函數的遞歸調用及實例程序如下#include<stdio.h>intmain(){ intage(intn); //對age函數的聲明
printf("NO.5,age:%d\n",age(5)); //輸出第5個學生的年齡
return0;}intage(intn) //定義遞歸函數{ intc; //c用作存放函數的返回值的變量
if(n==1)
//如果n等于1
c=10;
//年齡為10
else
//如果n不等于1
c=age(n-1)+2;
//年齡是前一個學生的年齡加2(如第4個學生年齡是第3個學生年齡加2) return(c); //返回年齡}函數的遞歸調用及實例程序分析mainage(5)輸出age(5)age(n)n=5c=age(4)+2age(n)n=4c=age(3)+2age(n)n=3c=age(3)+2age(n)n=2c=age(1)+2age(n)n=1c=10age(5)=18age(4)=16age(3)=14age(2)=12age(1)=10intage(intn){ intc;
if(n==1)
c=10;
else
c=age(n-1)+2; return(c);}c=age(1)+2遞歸的終結條件:n=0或n=1函數的遞歸調用及實例
求n的階乘例#include<stdio.h>intfac(intn){intf;if(n<0)printf("n<0,dataerror!");elseif(n==0||n==1)f=1;elsef=fac(n-1)*n;return(f);}main(){intn,y;printf("Inputaintegernumber:");scanf("%d",&n);
y=fac(n);printf("%d!=%15d",n,y);}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧石油化工大學《中國文化英語教程》2023-2024學年第二學期期末試卷
- 廣州番禺職業(yè)技術學院《商業(yè)空間方案設計》2023-2024學年第二學期期末試卷
- 朔州陶瓷職業(yè)技術學院《立體構成A》2023-2024學年第二學期期末試卷
- 南京醫(yī)科大學康達學院《鄉(xiāng)土建筑》2023-2024學年第二學期期末試卷
- 腫瘤患者護理匯報
- 四川郵電職業(yè)技術學院《新媒體主播實務》2023-2024學年第二學期期末試卷
- 廣東交通職業(yè)技術學院《動物分子與細胞生物學導論》2023-2024學年第二學期期末試卷
- 武漢警官職業(yè)學院《云平臺技術綜合設計》2023-2024學年第二學期期末試卷
- 重慶化工職業(yè)學院《當代社會學》2023-2024學年第二學期期末試卷
- 汝州職業(yè)技術學院《新聞攝影攝像》2023-2024學年第二學期期末試卷
- T-CAME 59-2023 醫(yī)院消毒供應中心建設與運行管理標準
- 住院患者導管滑脫風險評估表
- 2024屆高考政治一輪復習經濟學名詞解釋
- 幼兒園大班音樂教案《我們多快樂》
- GB/T 22919.9-2024水產配合飼料第9部分:大口黑鱸配合飼料
- 《草船借箭》課本劇劇本-4篇
- 體育與兒童心理健康教育教材教學課件
- 婚姻家庭法(第三版)教案全套 項目1-9 婚姻家庭法概述-特殊婚姻家庭關系
- 可持續(xù)采購與供應鏈管理
- 心肺復蘇及AED教學
- 電梯維保經營計劃書
評論
0/150
提交評論