c語言求大神,求C語言大神

2022-02-19 19:04:45 字數 2262 閱讀 4848

1樓:forever_小毅

在main中,定義了陣列a

下標 0 1 2 3 4 5 6 7 8

值   8 2 9 1 3 6 4 7 5

求f(a,9):

f(a,9)= max(f(a,n-1),a[n-1]) = max(f(a,8),5),由於不知道哪個大,所以需要求f(a,8)

f(a,8) = max(f(a,7),7)

f(a,7) = max(f(a,6),4)

...f(a,1) = a[0] 因為n > 1 == false,所以執行後面的return a[0]

接著一直回傳回去,得到答案:9

實際上可以從另一方面看,f(a,9)=max(f(a,8),5),它的作用就是取f(a,8)和當前值中最大的那個

前面也同理,也就是說,f(a,9)得到的是下標0->8中,數字最大的那個值

如無疑問煩請採納

2樓:岔路程式緣

這個程式是遞迴查詢陣列中的最大元素。

等於本例,返回最大元素9,即選項b。

看一下f函式的構造:它一共有6句,整體是一個if……else……結構。

分析一下運**況,由於沒呼叫一次f,定義一個不同的變數t,為防止混淆,我們將按順序稱之為t1、t2……

主函式列印語句呼叫f(a,9)①

第一次進入f函式,n=9>1,定義變數1,再呼叫t1=f(a,8)②

第二次進入f函式,n=8>1,定義變數t2,再呼叫t2=f(a,7)③

……第八次 進入f函式,n=2>1,定義變數t8,再呼叫t8=f(a,1)④

第9次 進入f函式,n=1>1不成立,指向else,返回a[0],即元素8。

返回④,即t8=8,往下一步程式:計算並返回t8>a[1]?t8:a[1]=8>2?8:2=8(返回8與2之大數),往上返回。每一次都是返回比較大的數。

……當然,f(a,7)返回的是9。回到③,t2=9,下一步計算t2>a[7]?因t2=9,a[7]=7,返回較大的9。

程式回到②,t1=9,下一步比較t1與a[8](=5)的大小,顯然返回較大的9。此時就要把9返回主函式①處了。

回到①處,程式獲得f(a,9)的值9,並列印。

3樓:左冷禪

不知道你對通項公式還記得多少,遞迴其實就是在定義通向公式。

由題目可知:

f(a, 0) = a[0] = 8

f(a, n) = f(a, n -1) > a[n - 1] ? f(a, n - 1) : a[n -1];

推算n=1..9的f(a, n)值:

f(a, 1) = f(a, 0) > a[0] ? f(a, 0) : a[0] = 8

f(a, 2) = f(a, 1) > a[1] ? f(a, 1) :a[1] = 8

f(a, 3) = f(a, 2) > a[2] ? f(a, 2) : a[2] = 9

f(a, 4) = f(a, 3) > a[3] ? f(a, 3) : a[3] = 9

因為之後的所有a[i], i > 3 都比9要小,因而f(a, 9)一定是9

求c語言大神

4樓:金色潛鳥

字串指標 自身 沒有存放字串的存放空間。

字元陣列 有存放字串的存放空間。

char arr[500];

char *sp; //這時字串沒有存放空間你可以動態分配空間,例如:

sp = (char *) malloc(sizeof(char)*501); 這時就有501位元組存放空間

也可以讓它指向某空間,例如: sp=arr; 這時就用char arr[500];的空間了。

5樓:抗陽飇

編寫1個排序子函式,該子函式採取指標作為輸入變數,對 n 個實數進 行排序。在 main 函式中呼叫該子函式,對 main 函式中定義的實數1維陣列中的 元素進行排序,排序後的序列儲存於原陣列中

c語言問題,求大神解答

求c語言大神詳細解釋一下的程式

6樓:忠孝俠士徐庶

define_cg_motion(piston,dt,vel,omega,time,dtime)

{thread *t;定義

7樓:匿名使用者

有一個很好的回答,另補充一下,計算力和力矩有一個函式很好用:compute_force_and_moment

C語言問題,求大神,C語言問題,求大神解答!

include int main char str 2000 gets str gets str int i 0 while i 2000 bool bb false for int i 0 i n i if bb printf mmm n return 0 先給你改好的 吧,沒做大手術,按你的思路...

c語言作業求大神解答,C語言作業。求大神解答

我給你二十分你幫我做了。c語言作業求大神解答 include int main return 0 第三個你沒給資料,沒寫 但是和前兩個沒太大差別,再加一個case 3 改一下資料就行 求大神解答c語言程式設計作業 include int main while 1 return 0 include i...

C語言讀程式題,求大神解答,C語言程式設計題目,求大神解析!

第五行,分別p0 ch0 p1 ch1 可以把ch看成兩個字元陣列,每個屬於長度5也就是p 0 1234 p 1 5678 至於下面兩個for的i和j迴圈,回顧下語法for 初始化 條件 語句 p 0 0 1 s 0 1 0 1 p 0 2 3 s 10 3 0 13 p 1 0 5 s 130 5...