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

正文內(nèi)容

清華c語言程序設(shè)計:第05章函數(shù)-資料下載頁

2025-10-07 13:35本頁面
  

【正文】 al(4)) ... } factorial(number) number: 4 { ... return (4*factorial(3)) ... } factorial(number) number: 3 { ... return (3*factorial(2)) ... } factorial(number) number: 2 { ... return (2*factorial(1)) ... } factorial(number) number: 1 { ... return 1 ... } 1 2 6 24 120 遞歸函數(shù) (2/4) ? 遞歸例子: Fibonacci數(shù)列 :0,1,1,2,3,5, 8... ? 每個元素是前面兩個元素的和 fib(n) = fib(n1) + fib(n2) long fibonacci(long n) { if (n==0 || n==1) /*base case*/ return n。 else return fibonacci(n1)+ fibonacci(n2)。 } 遞歸函數(shù) (3/4) ? Fibonacci數(shù)列 :0,1,1,2,3,5, 8... f( 3 ) f( 1 ) f( 2 ) f( 1 ) f( 0 ) return 1 return 1 return 0 return + + return 例子 18:求 Fibonacci數(shù)列的程序?qū)崿F(xiàn) include long fibonacci( long )。 int main() { long result, number。 printf( Enter an integer: )。 scanf( %ld, amp。number )。 result = fibonacci( number )。 printf(Fibonacci(%ld) = %ld\n,number,result)。 return 0。 } long fibonacci( long n ) { if ( n == 0 || n == 1 ) return n。 else return fibonacci(n1) + fibonacci(n2)。 } 程序運行結(jié)果 Enter an integer: 6 Fibonacci(6) = 8 Enter an integer: 10 Fibonacci(10) = 55 Enter an integer: 20 Fibonacci(20) = 6765 Enter an integer: 30 Fibonacci(30) = 832040 Enter an integer: 35 Fibonacci(35) = 9227465 遞歸函數(shù) (4/4) ? 遞歸與迭代 ? 重復(fù) ? 迭代:明顯的循環(huán) ? 遞歸:反復(fù)的函數(shù)調(diào)用 ? 終止 ? 迭代: 循環(huán)條件不滿足 ? 遞歸: 執(zhí)行到遞歸基礎(chǔ) ? 二者都有可能導(dǎo)致無限循環(huán) ? 權(quán)衡 ? 執(zhí)行效率與軟件結(jié)構(gòu) ?將 N個盤從 1移到 3, 借助 2 ?移動過程中必須保證大盤在下,小盤在上 Hanoi塔問題 : 1 2 3 N Hanoi塔問題 1 2 3 : N Hanoi塔問題 1 2 3 : N1 1 將 N1個盤從 1移到 2, 借助 3 Hanoi塔問題 1 3 2 : N1 1 將 N1個盤從 1移到 2, 借助 3 2 將 1上的盤移到 3 Hanoi塔問題 1 3 2 : N1 1 將 N1個盤從 1移到 2, 借助 3 2 將 1上的盤移到 3 3 將 N1個盤從 2移到 3, 借助 1 Hanoi塔問題 1 2 3 : N1 ?將 N個盤從 1移到 3, 借助 2 1 將 N1個盤從 1移到 2, 借助 3 2 將 1上的盤移到 3 3 將 N1個盤從 2移到 3, 借助 1 例子 19: Hanoi塔問題求解的程序?qū)崿F(xiàn) void moveDisks(int diskNum, char sourcePole, char targetPole, char midPole) { if (diskNum == 1) printf(“%c %c”, sourcePole, targetPole)。 else { moveDisks(diskNum1,sourcePole, midPole,targetPole)。 printf(“%c %c”,sourcePole,targetPole)。 moveDisks(diskNum1,midPole, targetPole,sourcePole)。 } } int main() { moveDisks(6, ?1?, ?3?, ?2?)。 return 0。 } 程序運行結(jié)果 1 3 1 2 3 2 1 3 2 1 2 3 1 3 學習目的檢測 ? 掌握函數(shù)的定義和使用方法,理解函數(shù)原型、函數(shù)重載 ? 掌握傳值和傳引用兩種參數(shù)傳遞的機制 ? 理解存儲類別和作用域 ? 理解函數(shù)遞歸調(diào)用的執(zhí)行過程 ? 能夠熟練利用函數(shù)進行自頂向下、逐步求精地進行程序設(shè)計 作業(yè)
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1