欢迎来到天天文库
浏览记录
ID:59041145
大小:4.32 MB
页数:8页
时间:2020-10-29
《函数嵌套和递归调用.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、函数的嵌套与递归调用教学内容函数的嵌套调用函数的递归调用函数的定义与使用函数的嵌套调用C规定:函数定义不可嵌套,但可以嵌套调用函数main()调用函数a结束a函数b函数调用函数b函数嵌套调用应用例1:计算s=(1*1)!+(2*2)!+(3*3)!+(4*4)!+(5*5!)分析:定义两个函数,一个是用来计算平方值的函数w1,另一个是用来计算阶乘值的函数w2。主函数先调w1计算出平方值,再在w1中以平方值为实参,调用w2计算其阶乘值,然后返回w1,再返回主函数,在循环程序中计算累加和。函数
2、的递归调用定义:函数直接或间接的调用自身叫函数的递归调用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()函数递归调用应用例2:用递归法计算n!1(n=0,1)n!=n*(n-1)!(n>1)例3:Hanoi(汉诺)塔问题。这是一个古典的数学问题,是一个只有
3、用递归方法(而不可能用其他方法)解决的问题。问题是这样的:古代有一个梵塔,塔内有3个座A、B、C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个老和尚想把这64个盘子从A座移到C座,但每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要求编程序打印出移动的步骤。1.C语言中,函数可以嵌套调用,不可以嵌套定义2.函数递归调用指对函数自身的调用,算法描述为a.if(递归终止条件)return(条件终止时的值)b.elsereturn
4、递归公式1.求两个数的最大公约数(用递归调用)2.求两个数的最小公倍数(用嵌套调用)
此文档下载收益归作者所有