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

正文內(nèi)容

[工學(xué)]第4章程序控制結(jié)構(gòu)-在線瀏覽

2024-12-03 18:47本頁面
  

【正文】 函數(shù)的嵌套與遞歸調(diào)用 ?嵌套調(diào)用 C規(guī)定: 函數(shù)定義不可嵌套 ,但 可以嵌套調(diào)用 函數(shù) main( ) 調(diào)用函數(shù) a 結(jié)束 a函數(shù) b函數(shù) 調(diào)用函數(shù) b ? ? ? ? ? ? ? ? ? 例 求三個(gè)數(shù)中最大數(shù)和最小數(shù)的差值 include int dif(int x,int y,int z)。 int min(int x,int y,int z)。 scanf(%d%d%d,amp。b,amp。 d=dif(a,b,c)。 } int dif(int x,int y,int z) { return max(x,y,z)min(x,y,z)。 r=xy?x:y。 } int min(int x,int y,int z) { int r。 return(rz?r:z)。 long factorial(int n)。 long a。n1,amp。 a=sum(n1,n2)。 } long sum(int a,int b) { long c1,c2。 c2=factorial(b)。 } long factorial(int n) { long rtn=1。 for(i=1。i++) rtn*=i。 } long sum(int a, int b)。 文件包含編譯預(yù)處理命令 函數(shù)類型聲明 函數(shù)定義 函數(shù)調(diào)用 函數(shù)調(diào)用 函數(shù)返回值 形參 實(shí)參 例 用弦截法求方程根 080165 23 ???? xxxx y f(x) 0 x1 x2 x f(x1) f(x2) )()()()(121221xfxfxfxxfxx?????求 f(x1)與 f(x2)連線與 x軸的交點(diǎn) x 輸入 x1,x2,求 f(x1),f(x2) 直到 f(x1)與 f(x2)異號(hào) y=f(x),y1=f(x1) y與 y1同號(hào) 真 假 x1=x y1=y x2=x 直到 |y|? root=x 輸出 root root函數(shù) 運(yùn)行情況: Input x1,x2: 2,6? A root of equation is main( ) 調(diào)用函數(shù) root 輸出根 x 結(jié)束 root函數(shù) xpoint函數(shù) 調(diào)用函數(shù) xpoint 調(diào)用函數(shù) f f函數(shù) include include main() { float x1,x2,f1,f2,x。 scanf(%f,%f,amp。x2)。 f2=f(x2)。 x=root(x1,x2)。 } float root(float x1,float x2) { float x,y,y1。 do { x=xpoint(x1,x2)。 if (y*y10) {y1=y。} else x2=x。 return(x)。 y=x*x*x5*x*x+16*x80。 } float xpoint(float x1,float x2) { float y。 return y。 else return((x+y)/2)。 printf(%d\n,fun(2*a,fun(b,c)))。 A. 3 B. 6 C. 8 D. 12 ?遞歸調(diào)用 ?定義:函數(shù)直接或間接的調(diào)用自身叫函數(shù)的遞歸調(diào)用 f( ) 調(diào) f 調(diào) f2 調(diào) f1 f1( ) f2( ) ?說明 ?C編譯系統(tǒng)對(duì)遞歸函數(shù)的自調(diào)用次數(shù)沒有限制 ?每調(diào)用函數(shù)一次,在內(nèi)存堆棧區(qū)分配空間,用于存放函數(shù)變量、返回值等信息,所以遞歸次數(shù)過多,可能引起堆棧溢出 int f(int x) { int y,z。 ……. return(2*z)。 …… z=f2(y)。 } int f2(int t) { int a,c。 ……. return(3+c)。 if(n0) printf(n0,data error!)。 else f=fac(n1)*n。 } main() { int n, y。 scanf(%d,amp。 y=fac(n)。 } 例 Hanoi問題 include void move(char getone, char putone) { printf(%c%c\n,getone,putone)。 else { hanoi(n1,one,three,two)。 hanoi(n1,two,one,three)。 printf(Input the number of disks:)。m)。 hanoi(m,39。,39。,39。)。 include include char convert(char ch)。 int i,l。 l=strlen(str)。il。 puts(str)。a39。amp。z39。A39。a39。 return ch。 數(shù)組作為函數(shù)參數(shù) ?數(shù)組元素作函數(shù)實(shí)參 —— 值傳遞 例 兩個(gè)數(shù)組大小比較 4 3 2 1 0 5 a 56 23 12 10 76 88 4 3 2 1 0 5 b 21 23 43 98 66 54 n=0 m=0 k=0 i n=0 m=0 k=1 i n=0 m=1 k=1 i n=1 m=1 k=1 i n=1 m=1 k=2 i n=2 m=1 k=2 i n=3 m=1 k=2 a和 b為有 10個(gè)元素的整型數(shù)組 比較兩數(shù)組對(duì)應(yīng)元素 變量 n,m,k記錄 a[i]b[i], a[i]==b[i], a[i]b[i]的個(gè)數(shù) 最后 若 nk,認(rèn)為數(shù)組 ab 若 nk,認(rèn)為數(shù)組 ab 若 n==k,認(rèn)為數(shù)組 a==b include define size 5 main() { int a[size],b[size],i,n=0,m=0,k=0。 printf(Enter array a:\n)。i size。a[i])。 for(i=0。i++) scanf(%d,amp。 for(i=0。i++) { if(large(a[i],b[i])==1) n=n+1。 else k=k+1。 else if(nk) printf(ab\n)。 }/*main end*/ int large(int x,int y) { int flag。 else if(xy) flag=1。 return(flag)。 void main() { int score[10], i。 printf(Input 10 scores: \n)。 i10。score[i])。 printf(Average is: %.2f, av)。 float av,total=0。 in。 av = total/n。 } 實(shí)參用數(shù)組名 形參用數(shù)組定義 , ?int stu[ ] . . 2 1 0 9 score 56 23 12 …. …. 88 stu 例 數(shù)組元素與 數(shù)組名 作函數(shù)參數(shù)比較 1 2 a 調(diào)用前 a[0] a[1] 1 2 a 調(diào)用 a[0] a[1] 1 2 x y 2 1 x y 交換 1 2 a 返回 include void swap2(int x,int y) { int z。 x=y。 } main() { int a[2]={1,2}。 printf(a[0]=%d\na[1]=%d\n,a[0],a[1])。 z=x[0]。 x[1]=z。 swap2(a)。 } 地址傳遞 例 數(shù)組元素與 數(shù)組名 作函數(shù)參數(shù)比較 例 數(shù)組排序 簡單選擇排序 void sort(int array[],int n) { int i,j,k,t。in1。 for(j=i+1。j++) if(array[j]array[k]) k=j。 array[i]=array[k]。 } } } main() { int a[10],i。i10。a[i])。 for(i=0。i++) printf(%d ,a[i])。 } 0 1 2 3 4 5 6 7 8 9 a 49 6
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1