下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。 2/1,3/2,5/3,8/5,13/8,21/13,… 其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。 [注意] 部分源程序给出

admin2010-11-26  19

问题 下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。
   2/1,3/2,5/3,8/5,13/8,21/13,…
   其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。
   [注意] 部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
   [试题源程序]
   #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的声明,注意到后面有对s的累加操作,所以声明之后一定要进行初始化,把s赋值为0。
   填空2:根据题目的意思,此处是循环求和,由数列很容易看出后一项的分子是前一项分母与分子之和,即a=a+b或者a+=b。
   填空3:由算法可以看出,此处是进行子函数调用。
转载请注明原文地址:https://kaotiyun.com/show/VPID777K
0

最新回复(0)