版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计项目六模块化设计C语言程序设计项目八项目六01
显示车辆数据(无参数无返回值类型)02根据车辆品牌,显示车辆数据(有参数无返回值类型)
03根据车辆品牌,显示销售额(有返回值类型)04
根据驾驶员的工作年限,求工资的数额(嵌套和递归)
引入:
在函数调用过程中,会出现一个子函数调用另外一个子函数,或者自己调用自己的函数类型,本次课程我们就来研究这种情况04项目六任务四C语言程序设计
(2)行进中的分叉路口任务目标
已知驾驶员的工资和工作年限相关,第一年的工资为5000,以后每年增长10%,求第12年的工资。知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉一、函数的嵌套在调用一个函数的过程中,又调用另一个函数。
下面是函数嵌套调用的大致模型:#include<stdio.h>voidf1();voidf2(intn);voidmain(){f1();}f1(){f2(5);}voidf2(intn){inti;for(inti;i<=n;i++)rintf(“*”);}知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉二、函数的递归在调用一个函数的过程中,又出现直接或间接地调用该函数本身3.示例2#include<stdio.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#include"stdio.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个人多少岁。#include"stdio.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(n>2)算法分析:10!=9!*109!=8!*9。。。2!=1!*2过程:定义变量输入变量值使用switch进行选择判断输出项目六任务四C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例3求10!用递归方法实现。#include"stdio.h"longfact(intn){ if(n==1) return1; else returnn*fact(n-1);}main(){ intn=10; printf("10!=%ld",fact(10));}任务分析与实践C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉程序代码#include"stdio.h"floatsalaryincrease(intn){floatsalary; if(n==1) salary=5000; else salary=salaryincrease(n-1)*1.1; returnsalary;}main(){ intn=12; printf("第12年的工资是%.2f",salaryincrease(12));}项目六任务四C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉巩固练习1.汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有30个盘子,盘子大小不等,大的在下,小的在上(如图)。有一个和尚想把这30个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多污染物联合暴露下社区慢病的健康风险评价
- 2025年高职无人机应用技术(无人机植保技术)试题及答案
- 2025年大学化工类(化工基础实训)试题及答案
- 2026年电动车维修(电池案例)试题及答案
- 2025年中职计算机应用(数据处理)试题及答案
- 2025年高职(旅游管理综合实训)规划优化实操试题及答案
- 2025年中职第一学年(中医养生保健)中医食疗养生试题及答案
- 2026年污水处理(工业废水处理工艺)试题及答案
- 2025年中职建筑施工(混凝土浇筑)试题及答案
- 2025年中职第二学年(水产养殖实训)鱼塘水质调节实操综合测试试题及答案
- 鲁科版高中化学必修一教案全册
- 提高隧道初支平整度合格率
- 2023年版测量结果的计量溯源性要求
- 建筑能耗与碳排放研究报告
- GB 29415-2013耐火电缆槽盒
- 中国古代经济试题
- 软件定义汽车:产业生态创新白皮书
- 磷石膏抹灰专项施工方案
- 水电水利工程施工质量管理培训讲义
- ArcMap制图-地图版面设计实验报告
- 建设部37号令危大工程标识牌样表
评论
0/150
提交评论