二級C語言填空題:題目計算以下分數(shù)序列前18項之和2/1,3/2,5/3,8/5,13/8.......#include <stdio.h>void main(){int i;float sum,a=2,b=1,t;/**/ /**/; sum=0;for (i=1;i<=18;i++){sum+=/**/ /**/;t=a/bt=a;a=a+b;b=/**/ /**/; t}printf("sum=%f\n",sum);getch();}/**/ /**/這個中間是填空的部分,右邊是正確答案,而我覺得第二個應該是a/b,第三個應該是a-i,用我這答案也可以運行出來但是運行出來的答案跟題庫所給的答案(也就是上面程序右邊的正確答案)運行出來的值不一樣,用我自己的答案筆試推算例子中前四項都符合就最后一項變成了13/9.。而用題庫給的答案推算只有前兩項符合例子給的式子,我不太理解為什么,求大神解析下,謝謝
1 回答

Eric_溫水之蛙
TA貢獻8條經(jīng)驗 獲得超3個贊
這題考的是斐波那契數(shù)列。數(shù)列從第3項開始,每一項都等于前兩項之和。
分數(shù)的分子和分母使用的是斐波那契數(shù)列的數(shù)字。
分數(shù)的分子是上一項的分子和分母之和,分數(shù)的分母是上一項的分子。
根據(jù)這個算法,得到的計算公式是正確答案。
sum+=/**/?/**/;t=a/b
這句話為什么會有t?應該是
sum+=a/b
- 1 回答
- 0 關注
- 829 瀏覽
添加回答
舉報
0/150
提交
取消