任务工资发放时币额数量的计算模板.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 语言程序设计与项目实践 清华大学出版社 模块化与团队协作 ——— 模块化程序设计 项目 6 回顾与作业点评 1 、如何实现多人合作开发 2 、如何实现数据与函数的共享 预习检查 ? 函数嵌套 ? 什么叫递归 目标 掌握函数的嵌套 掌握递归调用的编程方法 项目任务 任务 6-3 、工资发放时币额数量的计算 1 、如何根据发放工资计算相应币种的数量,以便 保证工资的正常发放。 2 、如何实现模块的细化?如何实现函数嵌套调用? 函数嵌套调用 C 语言中不允许作嵌套的函数定义。因此各函数之间是平 行的,不存在上一级函数和下一级函数的问题。 C语言允许在一个函数的定义中出现对另一个函数的调 用。这样就出现了函数的嵌套调用。即 在被调函数中又 调用其它函数 。 void reverse() { :::::::::: :::::::::: } #includestdio.h void main() { ::::::::: fun(); :::::::: :::::::: } void fun() { :::::::: reverse(); :::::::: } 函数嵌套调用 从一个函数调用另一个函数称为函数的嵌套调用 函数嵌套调用 【案例 6-18 】求 1 k +2 k +3 K +…+n K 分析: 编写两个函数 powers(m,n) 求 m- - - - - - - n 以及求 add(a,b)a 个 a b (a=1 — n) 之和。 Main() 函数 , 调用 add 函数。其函数之间的调用关系如图 6-10 所 示 函数嵌套调用 #includestdio.h void main() { int n=6,k=4; long sum; sum=add(k,n); printf(sum=%ld,sum); } long add(int a,int b) { int i; long s=0; for(i=1;i=b;i++) s+=powers(i,a); return s; } long powers(int m,int n) { int j; long p=1; for (j=1;j=n;j++) p=p*m; return p; } 函数递归调用 函数的递归调用是指调用一个函数的过程中,直接或间接 的调用该函数自身,这种函数称为递归调用。 C 语言允许 函数的递归调用。在递归调用中,主调函数又是被调函数 。 递归算法的执行过程分递推和回归两个阶段。在递推阶段 ,把较复杂的问题 ( 规模为 n) 的求解推到比原问题简单一些 的问题 ( 规模小于 n) 的求解。 函数递归调用 ? 递归函数要避免死循环,编写递归调用程序时,必须在递 归调用语句到前面写上终止递归到条件,常常采用 如下 的形式: 在编写递归函数时,必须注意: ( 1 )如何实现递归,递归算法的描述。 ( 2 )递归的结束条件。 if( 条件 ) // 终止递归 else … 递归调用 递归 【案例 6-19 】用递归法计算 n! ? 分析:求 n !可用下面的递推公式表示: ? 这里递归的结束条件 n=0 或 n=1, 递归算法: n!=n*(n-1)!. /* 此函数用于计算 a 的阶乘 */ int fact(int a) { if (a == 1) return 1; else { a = a * fact(a-1) ; return a; } } 函数递归调用 在一个函数体内调用自身称为函数的递归调用 void main() { int n; long y; printf(\ 输入一个整数 :); scanf(%d,n); y=fact(n); printf(%d!=%ld\n,n,y); } 递归 递归调用到过程如图 6-11 : ( 1 )递归过程。将原始问题求 n! 不断转化为规模小一级 (n- 1)! 的新问题,从未知向已知推进即当 n=1 时, n!=1 。最终 达到

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档