1樓:匿名使用者
遞迴程式,實在很不容易說清楚,只能意會,到了一定階段自然就明白了。
最初是呼叫f(aa,5),返回了f(aa,4)+a[4],又返回了f(aa,3)+a[3]+a[4],又返回了f(aa,2)+a[2]+a[3]+a[4],如此最後為f(aa,0)+a[0]+a[1]+a[2]+a[3]+a[4]。f(aa,0)為0,所以結果就是a[0]一直加到a[4],為15。
遞迴就像做一件事之前,還要做另一件事,做另一件事之前,又要做另外另外的一件事,所以推下來總是最初的那件事最後才能完成,在它之前要完成其他事。
2樓:匿名使用者
/*f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]
=f(aa,2)+a[2] + a[3] + a[4]=f(aa,1)+a[1]+a[2]+a[3] +a[4]=f(aa,0)+a[0] +a[1]+a[2]+a[3] +a[4]
=0 + 1 + 2 + 3 + 4 + 5= 15
*/#include
int f(int a,int n)
int main()
,s;s=f(aa,5);
printf("%d\n",s);}
3樓:a雄
f 這算是一個遞迴函式,函式的作用就是求陣列的每項之和,其中的兩個引數:一個是陣列的引用,還有一個是陣列的長度,每呼叫函式一次,傳入的引數都減少一,然後加上a[n],
呼叫的過程中分別取到了a[5-1] a[4-1] a[3-1] a[2-1] a[1-1] ,最後當n=1的時候f函式返回0
所以最終的結果是把這個陣列的每一個子項相加之和。
遞迴這樣的函式相對來說比較難理解,簡單的呢,自己把它的呼叫過程都寫出來然後,看一看就比較清楚了,一樓列出來的呼叫過程蠻清楚的,可以參考一下。 有什麼不明白的可以qq我 840364481 歡迎相互學習 ^_^
4樓:匿名使用者
函式遞迴 5+4+3+2+1+0=15
這個程式相當於一個分段函式,對你便於理解
已知a[5]=和下列函式f(x)
0, x<1
f(x)={
f(x-1)+a[x-1] x>=1 x=5時 f(x)=15
對於函式遞迴問題,千萬別亂,一步一步去代,慢慢有規律後就可以很快解答出來,沒有看上去那麼難的下面也是一個我解答的遞迴問題,鞏固一下
c語言中7&&15等於多少
5樓:匿名使用者
&&是邏輯運算子
在c語言中,非0表示邏輯真
所以,7&&15的結果是,邏輯真,用1表示.
因此,結果是1.
6樓:問很很多多
1。7不等於0,短路。
7樓:匿名使用者
貌似邏輯判斷吧,等於1
c語言中一**為什麼等於123445678788。00000
8樓:匿名使用者
123456.789e5是科學計數法的表示,e5表示10的5次方;123456.789e5就相當於是123456.
789乘以10^5,然後有根據浮點數取值範圍進行取捨,如果發生溢位就會產生莫名的結果,即使有時候看似相似
希望對你有所幫助
9樓:匿名使用者
e5 意思是 10的5次方
c語言編寫程式後,為什麼執行時自動關閉?
10樓:哎呀沃去
在前面變數定義部分增加:char buffer[20];
scanf改成:scanf("%s",buffer); ch=buffer[0];
11樓:鳳舞天族
你執行的時候按ctrl+f5就不會關掉了,最後一行顯示press any key to continue!
1/1+1/2+1/3+...1/n<=15.0怎麼做的。 輸出n等於多少,用c語言做,希望大家幫
12樓:
//#include "stdafx.h"//vc++6.0加上這一行.
#include "stdio.h"
int main(void)
13樓:飄遙舞者
求和,當和小於等於15時輸出n
14樓:匿名使用者
我是c++,不好意思
關於c語言,為什麼我一執行程式,老是說檔案不存在?
15樓:我不醒了
我有出現了重情況,最後我發現我的是因為我把return 0 ;寫成了return=0;所以編譯沒過,你可以看一下是不是這個問題
16樓:匿名使用者
書上印的程式很多都錯誤的,要自己除錯。
編譯沒有過,沒有生成可執行程式,所以檔案不存在。
do you want to build it? 是否要建立(編譯+連結)程式
17樓:匿名使用者
你的編譯都沒通過,沒有辦法生成可執行的程式,沒有生成可執行的程式,你執行肯定是不行的了。
你還是好好看看的程式吧,或是貼出來我們看看,
為什麼c語言程式能編譯但是執行不到 5
18樓:
錯誤原因:在執行過程中發生了異常,比如空指標,陣列越界,死迴圈無法跳出等
編譯:編譯的意思就通過了編譯器的詞法語法分析器的解析,編譯器可以解析你的所有的**,沒有語法語義上的錯誤,比如c語言 a[-1]這樣的可以編譯,因為語法滿足c語言的標準,但是明顯會報錯,即執行錯誤
執行:執行時對**的逐條執行過程,在執行過程中可能會出現錯誤,出現錯誤,則會導致程式崩潰等問題
19樓:匿名使用者
編譯只是檢查你的**有沒有語法錯誤,執行的話要實際的結果了,這兩個不一樣,可以私信,把你的**發過來看看
20樓:匿名使用者
原因:可能是某些細節寫錯。
比如:1.if (a==b)寫成了if (a=b)。2.呼叫函式時沒加上括號,比如asdf()寫成了asdf。
解決方法:仔細檢查,努力排錯。
備註:以後寫**時,要注意之前出錯過的細節,以免再錯。
求一個c程式的詳細執行過程,為什麼會得到如此結果
21樓:匿名使用者
for迴圈1到100
滿足i%10==3的i只有3,13,23....93滿足i/10==3 的只有30,31,32...39同時滿足的只有33,所以剩餘99個都不滿足,count為99
22樓:匿名使用者
。。。。。
你怎麼計算的一共100個數,除了商3餘3的數(這個數是33)滿足if條件。其他的99個數都是走的else count++這句話啊。所以count=99
23樓:藍色**
你是怎麼算出來90的,只有一種情況count++不成立,那就是i=33.其他情況都要++,100-1=99
24樓:匿名使用者
首先明白&&是與的關係,即是同時滿足條件i%10==3,i/10==3
1-100之間的數
滿足i%10==3的有 3,13, 23, 33, 43, 53, 63, 73,83, 93
滿足i/10==3的有 30
證明根本就沒有符合if語句的條件,所以1-100進迴圈就else count++; 最後的答案應該是100才對啊
25樓:昌珈藍歆
滿足(i%10==3&&i/10==3)的只有33,所以剩下的是99
為什麼我執行遊戲會現應用程式錯誤
應用程式錯誤,建議樓主採取以下措施,解決您的問題記憶體條壞了 更換記憶體條 雙記憶體不相容 使用同品牌的記憶體或只用一條記憶體散熱問題 加強機箱內部的散熱 驅動問題 重灌驅動。如果是新系統,要先安裝主機板驅動軟體損壞 重灌軟體 軟體有bug 打補丁或用最新的版本。軟體和系統不相容 給軟體打上補丁或者...
VB題 程式執行後,單擊窗體,輸出結果是?求過程
我感覺答案裡應該沒有空格,我按我的思路說了一下,希望對你有幫助option base 1 private sub form click dim arr 4,4 as integerfor i 1 to 4 arr i j i 1 2 jnext j next i 這一堆都是賦值語句,給一個二維陣列賦...
執行什麼程式會觸發windows的UAC
1全部大環境導致uac在實際使用過程中會遇到各種問題,不過我們依然可以通過一些方法讓uac對我們的干擾能夠降到最低。1.禁用uac 雖然強烈建議不這樣做,但如果你確實習慣不了uac,或者自己必須使用的軟體在啟用uac的情況下會遇到各種問題,那麼也可以考慮禁用uac。開啟 控制面板 依次進入 使用者賬...