C语言中用函数实现录入信息模块,C语言程序设计用函数实现模块化程序设计(73页)-原创力文档...
31/73 #include void main ( ) { int n, p; printf (
=?);scanf (%d, &n); p = fact (n); printf (%d!=%d\n, n, p); } int fact ( int n ) { int r; if ( n == 1 ) r = 1; else r=n* fact (n-1); /* 遞歸調(diào)用 */ return (r);} ? 用遞歸函數(shù)求 n! – n! = 1 當(dāng) n = 1 時(shí) – n! = n * (n-1)! 當(dāng) n > 1 時(shí) 32/73 void main( ) { … p=fact(4); … } fact( 4 ) { … r=4*fact(3); … return 24 } fact( 3 ) { … r=3*fact(2); … return 6 } fact(2 ) { … r=2*fact(1); … return 2 } fact(1 ) { … r=1; … return 1 } 遞歸調(diào)用執(zhí)行過(guò)程 遞 推 回 推 33/73 3 .編制遞歸函數(shù)的方法 ⑴ 數(shù)值型問(wèn)題遞歸函數(shù)的編程方法 對(duì)于數(shù)值型問(wèn)題,首先要找出解題的數(shù)學(xué)公式, 這個(gè)公式必須是 遞歸定義 的,且所處理的 對(duì)象要 有規(guī)律地遞增或遞減 ,然后確定 遞歸結(jié)束條件 。 【例 8.17 】編一遞歸函數(shù)求 x n 。 思路:首先把 x n 轉(zhuǎn)化成遞歸定義的公式 x n = 1 ( n=0 ) x × x n - 1 ( n>0 ) 再找出遞歸結(jié)束條件:當(dāng) n=0 時(shí), x n =1 。 34/73 程序如下: #include long xn(int x,int n) { long f=0; if (n<0) printf(
<0,data error!\n); else if (n==0) f=1; else f=x*xn(x,n-1); return (f); } void main( ) { int n,x; long y; scanf(%d,%d,&x,&n); y=xn(x,n); printf(%ld\n,y); } 程序運(yùn)行情況如下: 2,10 ? 1024 35/73 Hanoi( 漢諾塔問(wèn)題) A B C
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的C语言中用函数实现录入信息模块,C语言程序设计用函数实现模块化程序设计(73页)-原创力文档...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 对linux做一个简单介绍,对“Fork
 - 下一篇: c语言便签程序,Windows7便签程序