版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
函数的递归调用及实例主讲教师:金红内蒙古建筑职业技术学院4.2.6CONTENTS目录PART01函数的递归调用及实例01函数的递归调用及实例intf(intx){inty,z;z=f(y);//在执行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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川德阳市罗江区就业创业促进中心城镇公益性岗位招聘1人备考题库(凯江社区)含答案详解(考试直接用)
- 2026中共宁海县委党校招聘事业编制工作人员1人备考题库及答案详解(考点梳理)
- 2026重庆两江新区人才发展集团外包岗位招聘1人备考题库及答案详解(有一套)
- 增强现实装配环境感知-洞察与解读
- 企业项目评估与立项流程方案
- 企业危险废物处理安全方案
- 交通拥堵演变分析-洞察与解读
- 2026山东青岛市即墨区教育体育系统专项招聘公费师范生80人备考题库含答案详解(满分必刷)
- 重金属污染畸形关联-洞察与解读
- 欧美家具市场分析-洞察与解读
- 2026上半年安徽黄山市休宁城乡建设投资集团有限公司及权属子公司招聘18人备考题库附参考答案详解(预热题)
- 2026年上海市浦东新区高三二模生物试卷(含答案)
- 航天文化创意产业现状分析市场调研报告
- 2026年道路运输企业两类人员考试题库及答案
- 施工现场地质灾害风险评估方案
- 2026年苏州健雄职业技术学院单招职业技能考试题库有答案详细解析
- 数学探索直线平行的条件(第1课时)课件 2025-2026学年北师大版数学七年级下册
- 内蒙古翔福司源网荷储一体化项目(风光储部分)环境影响报告书
- 重庆大学学生请假制度
- 慢性病患者的心理康复与治疗
- 国家基本公共卫生服务项目第三版课件
评论
0/150
提交评论