C语言内涵教程周二强著第7章函数(下)课件教学.pptVIP

  • 2
  • 0
  • 约6.75千字
  • 约 70页
  • 2017-01-01 发布于广东
  • 举报

C语言内涵教程周二强著第7章函数(下)课件教学.ppt

C语言内涵教程 周二强 zeq126@126.com 中国铁道出版社 ISBN9787113163815 第7章 函数 7.5 递归 7.6 库函数简介 7.6.1 getchar函数、getch函数和getche函数 7.6.2 rand函数、srand函数和time函数 7.6.3 字符串处理函数 7.7 综合实例 7.5.1 递归算法与递归函数 以求523的阶乘为例。如何求出523的阶乘? 方法一:从1乘以2乘以3……一直乘到523。 方法二:第一步,先求出522的阶乘;第二步,再用523乘以522的阶乘从而得到523的阶乘。 第二步计算乘法在理论上没有难度,关键在于第一步如何求出522的阶乘? 遇到的问题与原问题相比: 性质相同:求一个数的阶乘 规模变小:523变成了522 性质相同意味着? 规模变小意味着? 例7-22 用递归算法求阶乘。 递归算法在C语言中用递归函数模拟。 设函数fac可以求出整数n的阶乘,该函数的首部为unsigned int fac(int n)。在求整数n的阶乘时,是否一定要转化为规模较小的子问题? 如果整数n的规模已经小到可以直接得到结果了(0或1),则直接返回结果;否则,就要转化为规模较小的子问题,本例中需要转化为n*(n-1)!即返回n*(n-1)!的结果。函数可定义为: 例7-22 用递归算法求阶乘。 fac函数在定义中调用了自身,因此

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档