下列給定的程序中,函數(shù)fun()的功能是:求出以下分?jǐn)?shù)序列的前n項(xiàng)和。 2/1,3/2,5/3,8/5,13/8,21/13,…
下列給定的程序中,函數(shù)fun()的功能是:求出以下分?jǐn)?shù)序列的前n項(xiàng)和。
2/1,3/2,5/3,8/5,13/8,21/13,…
其值通過函數(shù)值返回main()函數(shù)。例如,若輸入n=5,則應(yīng)輸出8.391667。
[注意] 部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的若干表達(dá)式或語句。
[試題源程序]
include<stdio.h>
include<conio.h>
double fun(int n)
{
int a=2, b=1, c, k;
double (1) ;
for(k=1; k<=n; k++)
{
s=s+1.0 *a/b;
c=a; a+= (2) ; b=c;
}
return(d);
}
main()
{
int n=5;
printf("\nThe value of function is: %1f\n", (3) );
}
正確答案:[1] s=0.0 [2] b [3] fun(n)[1] s=0.0 [2] b [3] fun(n) 解析:填空1:根據(jù)題目的意思,這里應(yīng)該是對(duì)變量s的聲明,注意到后面有對(duì)s的累加操作,所以聲明之后一定要進(jìn)行初始化,把s賦值為0。 填空2:根據(jù)題目的意思,此處是循環(huán)求和,由數(shù)列很容易看出后一項(xiàng)的分子是前一項(xiàng)分母與分子之和,即a=a+b或者a+=b。 填空3:由算法可以看出,此處是進(jìn)行子函數(shù)調(diào)用。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。