C語言項目化教程(基于智能制造軟件) 課件 項目六任務(wù)四 根據(jù)駕駛員的工作年限求工資的數(shù)額 (嵌套和遞歸)_第1頁
C語言項目化教程(基于智能制造軟件) 課件 項目六任務(wù)四 根據(jù)駕駛員的工作年限求工資的數(shù)額 (嵌套和遞歸)_第2頁
C語言項目化教程(基于智能制造軟件) 課件 項目六任務(wù)四 根據(jù)駕駛員的工作年限求工資的數(shù)額 (嵌套和遞歸)_第3頁
C語言項目化教程(基于智能制造軟件) 課件 項目六任務(wù)四 根據(jù)駕駛員的工作年限求工資的數(shù)額 (嵌套和遞歸)_第4頁
C語言項目化教程(基于智能制造軟件) 課件 項目六任務(wù)四 根據(jù)駕駛員的工作年限求工資的數(shù)額 (嵌套和遞歸)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計項目六模塊化設(shè)計C語言程序設(shè)計項目八項目六01

顯示車輛數(shù)據(jù)(無參數(shù)無返回值類型)02根據(jù)車輛品牌,顯示車輛數(shù)據(jù)(有參數(shù)無返回值類型)

03根據(jù)車輛品牌,顯示銷售額(有返回值類型)04

根據(jù)駕駛員的工作年限,求工資的數(shù)額(嵌套和遞歸)

引入:

在函數(shù)調(diào)用過程中,會出現(xiàn)一個子函數(shù)調(diào)用另外一個子函數(shù),或者自己調(diào)用自己的函數(shù)類型,本次課程我們就來研究這種情況04項目六任務(wù)四C語言程序設(shè)計

(2)行進中的分叉路口任務(wù)目標(biāo)

已知駕駛員的工資和工作年限相關(guān),第一年的工資為5000,以后每年增長10%,求第12年的工資。知識儲備C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉一、函數(shù)的嵌套在調(diào)用一個函數(shù)的過程中,又調(diào)用另一個函數(shù)。

下面是函數(shù)嵌套調(diào)用的大致模型:#include<stdio.h>voidf1();voidf2(intn);voidmain(){f1();}f1(){f2(5);}voidf2(intn){inti;for(inti;i<=n;i++)rintf(“*”);}知識儲備C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉二、函數(shù)的遞歸在調(diào)用一個函數(shù)的過程中,又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身3.示例2#include<stdio.h>voidf(intn){if(n==0)return;printf("%d\n",n);

f(--n);//直接遞歸}voidmain(){intnum=5;f(num);}項目六任務(wù)四C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉典型案例1某集團對于駕駛員的工資是根據(jù)是否出現(xiàn)交通事故而定,如果不出事故,駕駛員下一月的工資會增加上月工資的10%,一個駕駛員1月份的工資為3000元,這一年都開車都沒有出事故,則本年一共領(lǐng)取了多少工資?(備注一個函數(shù)求和,一個函數(shù)求每個月的工資)項目六任務(wù)四C語言程序設(shè)計

(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);某集團對于駕駛員的工資是根據(jù)是否出現(xiàn)交通事故而定,如果不出事故,駕駛員下一月的工資會增加上月工資的10%,一個駕駛員1月份的工資為3000元,這一年都開車都沒有出事故,則本年一共領(lǐng)取了多少工資?(備注一個函數(shù)求和,一個函數(shù)求每個月的工資)returnsum;}voidmain(){ intmonth=12; printf("本年一共領(lǐng)取了%.2f工資",sum_salary(12));}項目六任務(wù)四C語言程序設(shè)計

(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;項目六任務(wù)四C語言程序設(shè)計

(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));}項目六任務(wù)四C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉典型案例3求10!用遞歸方法實現(xiàn)。1(n==1)F(n)=f(n-1)*n(n>2)算法分析:10!=9!*109!=8!*9。。。2!=1!*2過程:定義變量輸入變量值使用switch進行選擇判斷輸出項目六任務(wù)四C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉典型案例3求10!用遞歸方法實現(xiàn)。#include"stdio.h"longfact(intn){ if(n==1) return1; else returnn*fact(n-1);}main(){ intn=10; printf("10!=%ld",fact(10));}任務(wù)分析與實踐C語言程序設(shè)計

(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));}項目六任務(wù)四C語言程序設(shè)計

(2)行進中的分叉路口(1)樹生長程中的分叉鞏固練習(xí)1.漢諾(Hanoi)塔問題:古代有一個梵塔,塔內(nèi)有三個座A、B、C,A座上有30個盤子,盤子大小不等,大的在下,小的在上(如圖)。有一個和尚想把這30個盤子從A座移到B座,但每次只能允許移動一個盤子,并且在移動過程中,3個座上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論