版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
模擬ATM工作流程函數(shù)遞歸調用和嵌套調用
問題導入
漢諾塔是一種古老的數(shù)學問題,是指在“A”柱上從下向上依次放著從大到小的一疊盤子,要把該柱上的盤子全部搬到指定的“C”柱,在搬運過程中,可以利用“B”柱來協(xié)助搬移,但每次只允許移動一個盤子,且在移動過程中始終保持大盤在下,小盤在上。試問怎樣搬移盤子?最少需要搬幾次才能把“A”柱上的全部盤子移至“C”柱?ABC
問題解決技術
需要用到函數(shù)的遞歸調用來解決這類問題。什么是函數(shù)的遞歸調用?函數(shù)遞歸調用:指的是在函數(shù)的過程中出現(xiàn)調用該函數(shù)本身的過程.即函數(shù)自己調用自己。
舉例
有5個人坐在一起,問第五個人幾歲?他說比第4個人大2歲。問第4個人,他說比第3個人大2歲。問第3個人,他說比第2個人大2歲。問第2個人,他說比第1個人大2歲。最后問第1個人,他說是10歲。請問第5個人是多大。求第5個人的年齡age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10age(n)=10(n=1)age(n)=age(n-1)+2(n>1)
舉例
#include<stdio.h>intage(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}main(){printf(“%d”,age(5));}運行結果:18age(5)=age(4)+2=age(2)+2=age(3)+2=age(1)+2=10age(2)=12age(4)=16age(3)=14age(5)=18
真題練一練
通過分析得出結論:func(n)=1(n=1)func(n)=func(n-1)*n(n>1)答案:1*2*3*4*5=120
嵌套調用
C語句不能嵌套定義函數(shù),但可以嵌套調用函數(shù)。
也就是說在調用一個函數(shù)的過程中,又調用另一個函數(shù)。兩層嵌套,其執(zhí)行過程為:main函數(shù)調用a函數(shù)a函數(shù)b函數(shù)調用b函數(shù)結束
思考題
#include<stdio.h>intb(intx){return(x+1);}inta(intm,intn){if(m>n)return(m);elseb(5);}main(){intm=3,n=8,r;r=a(m,n);printf("%d\n",r);}想一想:輸出結果是什么?輸出結果是:6
真題練一練
從n個不同的元素中,每次取出k個不同的元素,不管其順序合并成一組,稱為組合.組合種數(shù)計箅公式如下..
Cnk=n!/((n-k)!*k!)1)定義函數(shù)fact(n)計算n!,類型double.2)定義函數(shù)cal(k,n),計算組合種數(shù)Cnk,類型double.要求調用fact(n)計算n!.3)定義函數(shù)main(),輸入正整數(shù)n,輸出n的所有組合數(shù)Cnk,要求調用函數(shù)cal(k,n).
真題練一練
#include<stdio.h>doublefact(intn){inti;doubles=1;for(i=1;i<=n;i++)s=s*i;returns;}doublecal(intk,intn){return(fact(n)/(fact(n-k)*fact(k)));}main(){intn,k;doublesum;scanf(“%d”,&n);for(k=1;k<=n;k++){sum=cal(k,n);printf(“.3f\n”,sum);}}
課后練一練
編寫程序,輸入一個正整數(shù)n,求下列算式的值:1+1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《來之不易的糧食》教學設計
- 中國歷史上的十大科學家為人類進步作出重要貢獻的學者
- 2024年溫州科技職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 中考數(shù)學總復習策略知識講稿
- 農業(yè)標準化與農業(yè)現(xiàn)代化講解材料
- 2024年浙江舟山群島新區(qū)旅游與健康職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 第一講何謂藝術史教材課程
- 感染性休克搶救的程序課件
- 四年級語文上冊第五單元第17課爬山都峰習題課件新人教版
- 2024年泊頭職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 高考模擬作文“如何面對‘識別度’的問題”導寫及范文
- 2023年保安公司副總經理年終總結 保安公司分公司經理年終總結(5篇)
- 中國華能集團公司風力發(fā)電場運行導則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習及答案
- 2022-2023學年度六年級數(shù)學(上冊)寒假作業(yè)【每日一練】
- 法人不承擔責任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學課件
- 顧客忠誠度論文
評論
0/150
提交評論