1樓:依玉宇
#include ""
#include ""
static int sum=0;
int fun(int i)
int temp=0,j=0;
temp=i%10;
sum+=temp*temp*temp;
i=i/10;
if(i)fun(i);
elsereturn (sum);
void main()
int a,b;
printf("請輸入值:")
scanf("%d",&a);
b=fun(a);
printf("%d",b);
編譯通過。
2樓:帳號已登出
你可以說清楚一點嗎?
使用遞迴方法求順序表(a1,a2,...,an)中的最大元素。並在vc++中實現。注意:編寫程式時,先把本例要用到的「第三章棧和佇列」和「遞迴」的源**檔案複製到同一資料夾下。
3樓:
使用遞迴方法求順序表(a1,a2,..an)中的脊凱最大元素。並老春在vc++中實現。
注意:編寫程式時,先把本例要用到的「第三章棧和佇列」和「遞迴」的源**文櫻含喚件複製到同一資料夾下。
使用遞迴方法求順序表(a1,a2,..an)中的衡汪最大元素。並在vc++中實現。
注意:編寫程式時,先把本例要用咐悔仔到的「第三章棧和佇列」和「遞迴」的源**檔案複製到同一資料夾下複製以下鏈結到前灶瀏覽器開啟參考一下。
計算機c++中遞迴函式問題
4樓:網友
遞迴函式就是 函式里面呼叫函式自己,經曲的例子就是: 從前有座山,山上有座廟,廟裡有個老和尚對小和尚說:「從前有座山,山上有座廟,廟裡有個老和尚對小和尚說:
從前有座山,山上有座廟,廟裡有個老和尚對小和尚。
當然如果只是像上面舉的這個例子,這個遞迴函式就沒完沒了,永遠也退不出來,所以有意義的遞迴函式就是在函式內部必須有某種情況不再呼叫自己的處理。以你這個例子來說。
if(size<2) return;就是用來結束遞迴呼叫了,也就是說,只要size>=2 這個遞迴呼叫就會一直呼叫下去,所以每次遞迴呼叫的時候,傳入的size必然是要越來越小的。
再根據你的函式,a其實是陣列首位址,size是陣列大小,當他開始遞迴呼叫reserve的時候,傳進去的位址變成了a+1,也就是首位址往後移了一位,可知陣列大小得減少一位,也就是size-1
5樓:網友
void reverse是乙個函式,在這個函式內部又使用了reverse這個函式,此為遞迴。如a(n)=a(n-1)+1,乙個道理。
6樓:匿名使用者
這個相對來說比較容易理解。
意思是第i個和倒數第i個數值交換,因此實現了倒轉。a+1表示新陣列,size-1表示新陣列的長度。
好心的高手幫解一道c++遞迴題目
7樓:網友
(4+4)+(4+4+5)+(4+4+5+9)=43分別定義陣列a[0]=4;a[1]=4;a[2]=5;a[3]=9,n=4
sum=(a[0]+a[1])*n-1)+a[2]*(n-2)+a[3]*(n-3);
從這個表示式可以看出,從第一項到最後一項的係數遞減所以大數放到前面的值是最大的。
8樓:網友
我感覺按重量從高到低依次合併就是最大得分。
c語言程式設計問題,請求大神幫我解釋兩個步驟 運用了遞迴,但是兩個子函式我沒看懂,不知道為什麼這樣做
9樓:網友
對於(1),也就是函式xh。
這個問題是在1到n的n個數中,取一些數出來,使得它們的和為m。
對於這個問題,有一些特殊情況:那就是a,b
a. 如果m=1,則只有一種情況,那就只用一種情況,只能取乙個數,這個數就是1。
b. 如果不滿足a,且 n<=1 或者m<=0, 那麼將沒有解,也就是有0種情況。
c. 如果不滿足a和b,那麼又可以分成兩種情況(這是遞迴的關鍵之處),i.如果取最後乙個數,且n就等於m,那就這一種情況也就是 t=1,若n=m,那麼就只有取m這個數一種情況。
在接下來的就分成兩種:i.不取最後乙個數,則需要在前面n-1個數中取c個數,它們的和是m,也就是 zxh(n-1,m,c);ii.
要去最後乙個數, 則 需要在前面n-1個數中取c-1個數,它們的和是m-n,也就是zxh(n-1,m-n,c-1)了。
需要好好仔細理解,祝你早點想透。
一道c語言程式題,求解答過程
10樓:種燒餅的怪叔叔
我們來分析下:
1)先傳遞0和1234給fun函式,因為s2>10,函式往下執行,s1=4,然後把s1和s2/10(123)再次傳遞給。
fun函式。
2)由於s2/10(123)是第二次傳遞中s2<10判斷式中的s2,他還是不能滿足條件,函式往下執行。由於s1=s1*10+s2%10;s1變成了43,s2/10就是把123/10=12,把43和12再次傳遞給fun
3)12依然滿足不了if的條件,根據上面的規則,s1變成43*10+12%10就是432,s2變成1
4)s2變成1滿足if條件,函式返回s1*10+s2%10的值,其中s1傳遞過來的是432,s2是1,算出得4321.
11樓:詹二娃子
在函式迭代過程把上一次的s1提公升乙個位數(乘以10)再與這一次的s2的個位數相加(s2%10),當s2已經是個位數的時候,迭代就開始返回了。
12樓:
這是乙個遞迴 只看fun函式很容易發現它的作用是把s2倒敘加在s1後面 所以該題選a 4321
13樓:網友
這明顯是乙個排序問題,si和s2比較以後,取大的,所以先取到的是4,依次是3,2,1如此排序,c語言教科書上就經典的氣泡排序法,你可以看看哇!記得選我喲。
c語言 第3題求過程
14樓:網友
根據運算子優先順序/結合性可知原式等效於。
k=( (x++>=0)&&y--<=0) )z=x+y) )
代入數值可知子表示式x++>=0值為假,且導致x值自增1,x只為0&&表示式的左運算元值為假,因為&&運算子的短路效應,右側表示式沒有執行,y值未改變,且整個&&表示式的值為假。
由於||運算子的左運算元為假,執行右側表示式,z=x+y,則z值為0+5==5,整個||表示式值為真(1)
所以最終k值為1,x值為0,y值為5,z值為5
一道c語言讀程式題,一道c語言讀程式題 include stdio h main int k 4,m 1,p p func k,m printf d, ,p p func
首先輸出結果是 8,17 第二,你上面這個程式編譯不了的,有2個問題 1 函式的返回值型別沒寫 2 func 函式體放在了main 函式後面且沒再main 函式中宣告。第三,註釋該程式 include 標頭檔案 void main 修改1 增加了void int func int a,int b 第...
關於一道C的程式題糾結中啊
樓主,我覺得你這道程式的問題就在於區域性變數作用域你沒考慮清楚!一般我們的程式裡,函式裡定義的變數或函式引數定義的變數都屬於區域性變數!而區域性變數的作用域是區域性的!例如就這道題來說的話!你在函式fun裡面定義int a,b,c 他們都是區域性變數,雖然你在主函式呼叫了fun函式!可是這些變數的作...
一道浮力題,一道關於浮力的題
方法解說 用密度進行判斷球的沉浮後,再根據不同狀態進行計算,如果是漂浮和懸浮f浮 g物,如果是沉底的,f浮 液體密度 v排 g 解 g球 4n m球 密度 m v 放入水中,則是密度比水小,漂浮。f浮 g物 4n 2 放入酒精中,密度相等,懸浮。f浮 g物 4n 3 放入水銀中,密度比水銀小 漂浮。...