函数递归调用.pptVIP

  • 6
  • 0
  • 约4.38千字
  • 约 9页
  • 2017-06-09 发布于湖北
  • 举报
函数的递归调用 有5个人坐在一起, 问第5个人多少岁?他说比第4个人大2岁。 问第4个人岁数,他说只知道比第3个人大2岁。 问第3个人,又说比第2个人大2岁。 问第2个人,说比第1个人大2岁。 最后问第1个人,他说是10岁。 请问第5个人多大? 如果每个人对自己的年龄认知都是这样,如何求第n个人的年龄? main() { printf(“第5个人的年龄是%d”,age(5)); } int age(int n) { if(n==1) return 10; else return 10+2*(n-1); } 用一个麻烦的办法来试一试 这个麻烦的办法叫递归,对某些问题,递归却是唯一的解决办法。(本题不是) main() { printf(“第5个人的年龄是%d”,age(5)); } int age(int n) { if(n==1) return 10; else return age(n-1)+2; } 总结递归的过程 递推(递出去):函数调用其本身 回推(归回来):对自身调用的语句要放在选择结构的一个分支内。使得符合某个条件时能归回来(层层返回) ——》——》——》。。。。。。——》 《——《——《——。。。。。。《—— * 第 3 个 人 第 2 个 人 第 5 个 人 第 4 个 人 第 1 个 人 大2岁 大2岁 大2岁 大2岁 我今年十岁了! 我今年

文档评论(0)

1亿VIP精品文档

相关文档