C语言项目化教程(基于智能制造软件) 课件 项目六任务四 根据驾驶员的工作年限,求工资的数额 (嵌套和递归).pptx

C语言项目化教程(基于智能制造软件) 课件 项目六任务四 根据驾驶员的工作年限,求工资的数额 (嵌套和递归).pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C语言程序设计

项目六

模块化设计

C语言程序设计

项目八

项目六

引入:

在函数调用过程中,会出现一个子函数调用另外一个子函数,或者自己调用自己的函数类型,本次课程我们就来研究这种情况

04

项目六任务四

C语言程序设计

(2)行进中的分叉路口

任务目标

已知驾驶员的工资和工作年限相关,第一年的工资为5000,以后每年增长10%,求第12年的工资。

知识储备

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

一、函数的嵌套

在调用一个函数的过程中,又调用另一个函数。

下面是函数嵌套调用的大致模型:

#includestdio.h

voidf1();

voidf2(intn);

voidmain()

{f1();}

f1()

{f2(5);}

voidf2(intn)

{inti;

for(inti;i=n;i++)

rintf(“*”);

}

知识储备

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

二、函数的递归

在调用一个函数的过程中,又出现直接或间接地调用该函数本身

3.示例2#includestdio.h

voidf(intn)

{

if(n==0)return;

printf(%d\n,n);

f(--n);//直接递归

}

voidmain()

{

intnum=5;

f(num);

}

项目六任务四

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

典型案例1

某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则本年一共领取了多少工资?(备注一个函数求和,一个函数求每个月的工资)

项目六任务四

C语言程序设计

(1)树生长程中的分叉

典型案例1

#includestdio.h

doublesalaryincrease(intmonth)

{

doublesalary=3000;

inti;

for(i=2;i=month;i++)

salary=salary*1.1;

returnsalary;

}

doublesum_salary(intmonth)

{

doublesum=0;

for(i=1;i=12;i++)

sum=sum+salaryincrease(i);

某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则本年一共领取了多少工资?(备注一个函数求和,一个函数求每个月的工资)

returnsum;

}

voidmain()

{

intmonth=12;

printf(本年一共领取了%.2f工资,sum_salary(12));

}

项目六任务四

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

典型案例2

有5名驾驶员坐在一起,问第5个人的年龄,他说比第4个人大2岁,问第4个人的年龄,他说比第3个人大2岁,问第3个人的年龄,他说比第2个人大2岁,问第2个人的年龄,他说比第1个人大3岁,第一个人的年龄是25岁,问第5个人多少岁。

if(n==1)age2=25;

elseage2=age1(n-1)+1;

项目六任务四

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

典型案例2

有5名驾驶员坐在一起,问第5个人的年龄,他说比第4个人大3岁,问第4个人的年龄,他说比第3个人大3岁,问第3个人的年龄,他说比第2个人大3岁,问第2个人的年龄,他说比第1个人大3岁,第一个人的年龄是25岁,问第5个人多少岁。

#includestdio.h

intage(intn){

if(n==1)

return25;

else

returnage(n-1)+2;

}

main()

{

intn=5;

printf(第5个人是%d岁,age(5));

}

项目六任务四

C语言程序设计

(2)行进中的分叉路口

(1)树生长程中的分叉

典型案例3

求10!用递归方法实现。

1(n==1)

F(n)=f(n-1)*n(n2

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档