以下程式如何理解

2022-12-19 10:26:04 字數 757 閱讀 3219

1樓:德克and德華

是斐波那契數列

過程如下:

k1初值為1,k1為2。

迴圈第一次:

k等於k1+k2,即1+2,所以k為3(斐波那契數列第4項);然後k2賦給k1,即k1為2;然後k賦給k2,即k2為3

迴圈第二次:

k等於k1+k2,即2+3,所以k為5(斐波那契數列第5項);然後k2賦給k1,即k1為3;然後k賦給k2,即k2為5

......

迴圈退出時共執行了5次迴圈,最後k為斐波那契數列的第8項,是21

2樓:鬼扯石室

程式宣告了4個整型變數:i , k1 ,k2, k;

while迴圈中以變數i為迴圈變數,當i<=5時執行迴圈體內的**,i初始值為1

迴圈體中:

首先將 k1+k2的結果 賦值給k

再將此時k2的值賦值給k1

然後將此時k的值賦值給k2

最後迴圈變數i增加1

由此可見,總共可以迴圈5次

迴圈中的引數情況:

i k1 k2 k

1 1 2

2 2 3 3

3 3 5 5

4 5 8 8

5 8 13 13

6 13 21 21

最後輸出乙個k值21,格式是5個字元寬度

3樓:匿名使用者

求斐波那切數列前n項和

有以下程式includestdiohmain

a i 是指a陣列的第i項元素,沒有什麼執行不執行的。a i 就是把該元素 1了。如果有這樣的語句 x a i 那麼才是先把該元素賦值給 x,然後該元素自己 1。注 a i 是個表示式,其值為 a i 的原始值,這個表示式求值後,a i 自身 1。include int main for i 1 i...

有以下程式includestdio hmainint c 610,20,30,40,50,60p,s p a s c

1 p a 應該是 p c 吧?2 s和p都是int型別的指標,二者相減是陣列c第0個元素與第5各元素的下標之差 而不是元素值之差 當然應該是5。你這裡輸出的是二個指標的位址之差,c 5 與c 0 的位址之差 以int的儲存空間大小為單專位 所以是5。若想屬 得到所期望的50,就該是二個單元儲存的值...

有以下程式程式執行後的輸出結果是

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...