freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第7章用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì)-文庫(kù)吧資料

2025-02-26 23:28本頁(yè)面
  

【正文】 ,用來(lái)存放 10個(gè)正整數(shù) ?設(shè)計(jì)函數(shù) prime,用來(lái)判斷一個(gè)數(shù)是否為素?cái)?shù)。 } } void move(char x,char y) { printf(%c%c\n,x,y)。 move(one,three)。 if(n==1) move(one,three)。)。,39。,39。 hanoi(m,39。m)。 printf(“the number of diskes:)。 x和 y是代表 A、 B、 C座之一,根據(jù)每次不同情況分別取 A、 B、 C代入 include int main() { void hanoi(int n,char one, char two,char three)。 ?編寫(xiě)程序。 (2) 將 1個(gè)盤(pán)子從一個(gè)座上移到另一座上。此時(shí)老和尚只需這樣做: ?解題思路: (1) 命令第 2個(gè)和尚將 63個(gè)盤(pán)子從 A座移到 B座 (2) 自己將 1個(gè)盤(pán)子(最底下的、最大的盤(pán)子)從 A座移到 C座 (3) 再命令第 2個(gè)和尚將 63個(gè)盤(pán)子從 B座移到 C座 A B C …… 將 63個(gè)從 A到 B 第 1個(gè)和尚的做法 …… A B C 將 63個(gè)從 A到 B 第 1個(gè)和尚的做法 …… A B C 將 1個(gè)從 A到 C 第 1個(gè)和尚的做法 …… A B C 將 1個(gè)從 A到 C 第 1個(gè)和尚的做法 …… A B C 將 63個(gè)從 B到 C 第 1個(gè)和尚的做法 …… A B C 將 63個(gè)從 B到 C 第 1個(gè)和尚的做法 A B C …… 將 62個(gè)從 A到 C 第 2個(gè)和尚的做法 A B C …… 將 62個(gè)從 A到 C 第 2個(gè)和尚的做法 A B C …… 將 1個(gè)從 A到 B 第 2個(gè)和尚的做法 A B C …… 將 1個(gè)從 A到 B 第 2個(gè)和尚的做法 A B C …… 將 62個(gè)從 C到 B 第 2個(gè)和尚的做法 A B C …… 將 62個(gè)從 C到 B 第 2個(gè)和尚的做法 第 3個(gè)和尚的做法 第 4個(gè)和尚的做法 第 5個(gè)和尚的做法 第 6個(gè)和尚的做法 第 7個(gè)和尚的做法 …… 第 63個(gè)和尚的做法 第 64個(gè)和尚僅做:將 1個(gè)從 A移到 C A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 2個(gè)盤(pán)子從 A移到 B A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 2個(gè)盤(pán)子從 A移到 B A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 1個(gè)盤(pán)子從 A移到 C A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 1個(gè)盤(pán)子從 A移到 C A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 2個(gè)盤(pán)子從 B移到 C A B C 將 3個(gè)盤(pán)子從 A移到 C的全過(guò)程 將 2個(gè)盤(pán)子從 B移到 C A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 A移到 C A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 A移到 C A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 A移到 B A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 A移到 B A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 C移到 B A B C 將 2個(gè)盤(pán)子從 A移到 B的過(guò)程 將 1個(gè)盤(pán)子從 C移到 B A B C 將 2個(gè)盤(pán)子從 B移到 C的過(guò)程 A B C 將 2個(gè)盤(pán)子從 B移到 C的過(guò)程 A B C 將 2個(gè)盤(pán)子從 B移到 C的過(guò)程 A B C 將 2個(gè)盤(pán)子從 B移到 C的過(guò)程 ?由上面的分析可知:將 n個(gè)盤(pán)子從 A座移到 C座可以分解為以下 3個(gè)步驟: (1) 將 A上 n1個(gè)盤(pán)借助 C座先移到 B座上 (2) 把 A座上剩下的一個(gè)盤(pán)移到 C座上 (3) 將 n1個(gè)盤(pán)從 B座借助于A座移到 C座上 ?把上面 3個(gè)步驟分成兩類(lèi)操作: (1) 將 n1個(gè)盤(pán)從一個(gè)座移到另一個(gè)座上( n> 1)。一般人是不可能直接確定移動(dòng)盤(pán)子的每一個(gè)具體步驟的 ?老和尚會(huì)這樣想:假如有另外一個(gè)和尚能有辦法將上面 63個(gè)盤(pán)子從一個(gè)座移到另一座。要求編程序輸出移動(dòng)一盤(pán)子的步驟。有一個(gè)老和尚想把這 64個(gè)盤(pán)子從A座移到C座,但規(guī)定每次只允許移動(dòng)一個(gè)盤(pán),且在移動(dòng)過(guò)程中在 3個(gè)座上都始終保持大盤(pán)在下,小盤(pán)在上。 } fac(5) 輸出 fac(5) main f=fac(4) 5 fac函數(shù) n=5 f=fac(3) 4 fac函數(shù) n=4 f=fac(1) 2 fac函數(shù) n=2 f=fac(2) 3 fac函數(shù) n=3 f=1 fac函數(shù) n=1 fac(1)=1 fac(2)=2 fac(3)=6 fac(4)=24 fac(5)=120 120 例 Hanoi(漢諾)塔問(wèn)題。 else f=fac(n1)*n。 if(n0) printf(n0,data error!)。 return 0。 y=fac(n)。 scanf(%d,amp。 int y。 ?解題思路: ?求n!也可以用遞歸方法,即5!等于4?。?,而4?。剑常。?…,1?。剑? ?可用下面的遞歸公式表示: ?????????)1()1()1,0(1!!nnnnnn!include int main() {int fac(int n)。n!=n*(n1)!。 ?解題思路: ?求n!可以用遞推方法 : 即從1開(kāi)始,乘2,再乘3 ……一直乘到n。 return(c)。 if(n==1) c=10。 return 0。 } f函數(shù) 調(diào)用 f函數(shù) f1函數(shù) 調(diào)用 f2函數(shù) 應(yīng)使用 if語(yǔ)句控制結(jié)束調(diào)用 直接調(diào)用本函數(shù) 間接調(diào)用本函數(shù) 函數(shù)的遞歸調(diào)用 例 有 5個(gè)學(xué)生坐在一起 ?問(wèn)第 5個(gè)學(xué)生多少歲?他說(shuō)比第 4個(gè)學(xué)生大 2歲 ?問(wèn)第 4個(gè)學(xué)生歲數(shù),他說(shuō)比第 3個(gè)學(xué)生大 2歲 ?問(wèn)第 3個(gè)學(xué)生,又說(shuō)比第 2個(gè)學(xué)生大 2歲 ?問(wèn)第 2個(gè)學(xué)生,說(shuō)比第 1個(gè)學(xué)生大 2歲 ?最后問(wèn)第 1個(gè)學(xué)生,他說(shuō)是 10歲 ?請(qǐng)問(wèn)第 5個(gè)學(xué)生多大 函數(shù)的遞歸調(diào)用 ?解題思路: ?要求第5個(gè)年齡,就必須先知道第4個(gè)年齡 ?要求第4個(gè)年齡必須先知道第3個(gè)年齡 ?第3個(gè)年齡又取決于第2個(gè)年齡 ?第2個(gè)年齡取決于第1個(gè)年齡 ?每個(gè)學(xué)生年齡都比其前1個(gè)學(xué)生的年齡大2 函數(shù)的遞歸調(diào)用 ?解題思路: age(5)=age(4)+2 age(4)=age(3)+2 age(3)=age(2)+2 age(2)=age(1)+2 age(1)=10 )1(2)1()()1(10)(??????nnagenagennage age(5) =age(4)+2 age(4) =age(3)+2 age(3) =age(2)+2 age(2) =age(1)+2 age(1) =10 age(2) =12 age(3) =14 age(4) =16 age(5) =18 回溯階段 遞推階段 age(5) =age(4)+2 age(4) =age(3)+2 age(3) =age(2)+2 age(2) =age(1)+2 age(1) =10 age(2) =12 age(3) =14 age(4) =16 age(5) =18 回 溯 階段 遞推階段 結(jié)束遞歸的條件 include int main() { int age(int n)。 z=f(y)。 ?C語(yǔ)言的特點(diǎn)之一就在于允許函數(shù)的遞歸調(diào)用。 } include int main() { …… max=max4(a,b,c,d)。 return max2(max2(max2(a,b),c),d)。 int max2(int a,int b) { return(ab?a:b)。 return(m)。 m=max2(m,c)。 int m。 int max2(int a,int b) { return(ab?a:b)。 return(m)。 m=max2(m,c)。 int m。 int max2(int a,int b) { return(ab?a:b)。 return(m)。 m=max2(m,c)。 int m。 } max4函數(shù) int max2(int a,int b) { return(ab?a:b)。 m=max2(m,d)。 m=max2(a,b)。 int max4(int a,int b,int c,int d) { int max2(int a,int b)。 else return b。 return(m)。 m=max2(m,c)。 int m。 else return b。 return(m)。 m=max2(m,c)。 int m。 return(m)。 m=max2(m,c)。 int m。 return(m)。 m=max2(m,c)。 int m。 return 0。 max=max4(a,b,c,d)。c,amp。a,amp。 printf(“4 interger numbers:)。 } 主函數(shù) 輸入 4個(gè)整數(shù) include int main() { int max4(int a,int b,int c,int d)。 printf(max=%d \n,max)。d)。b,amp。 scanf(%d%d%d%d,amp。 int a,b,c,d,max。 return 0。 max=max4(a,b,c,d)。c,amp。a,amp。 printf(“4 interger numbers:)。 ?解題思路: ?main中調(diào)用 max4函數(shù),找 4個(gè)數(shù)中最大者 ?max4中再調(diào)用 max2, 找兩個(gè)數(shù)中的大者 ?max4中多次調(diào)用 max2,可找 4個(gè)數(shù)中的大者,然后把它作為函數(shù)值返回 main函數(shù) ?main函數(shù)中輸出結(jié)果 include int main() { int max4(int a,int b,int c,int d)。 ?原型說(shuō)明可以放在文件的開(kāi)頭,這時(shí)所有函數(shù)都可以使用此函數(shù) 函數(shù)的嵌套調(diào)用 ?C語(yǔ)言的函數(shù)定義是互相平行、獨(dú)立的 ?即 函數(shù)不能嵌套定義 ?但可以嵌套調(diào)用函數(shù) ?即 調(diào)用一個(gè)函數(shù)的過(guò)程中,又 可以 調(diào)用另一個(gè)函數(shù) 函數(shù)的嵌套調(diào)用 main函數(shù) ① 調(diào)用 a函數(shù) ⑨ 結(jié)束 a函數(shù) ③ 調(diào)用 b函數(shù) ⑦ ② ⑧ b函數(shù) ⑤ ④ ⑥ 函數(shù)的嵌套調(diào)用 例 輸入 4個(gè)整數(shù),找出其中最大的數(shù)。 } 定義 add函數(shù) 調(diào)用 add函數(shù) ?函數(shù)原型的一般形式有兩種 : 如 float add(float x, float y)。 z=x+y。 return 0。 c=add(a,b)。a,amp。 pr
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1