请补充函数fun(),该函数的功能是:计算下面公式的值 (k<50): 例如:当k=5时,s=338.215158。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数函数fun()的横线上填入所编写的若干

admin2010-05-05  12

问题 请补充函数fun(),该函数的功能是:计算下面公式的值 (k<50):
   例如:当k=5时,s=338.215158。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
   #include<conio.h>
   #include<stdio.h>
   double fun(int n)
   {
      double s=【  】;
      double f=0.0;
      double p=0.0;
      int i=0;
      int k;
      for(k=1;【  】;k++)
      {
         f=2*k-1;
         p=2*k+l;
         for(i=1;i<2*k+l;i++)
            f*=2*k-1;
         for(i=1;i<2*k-1;i++)
            p*=2*k+1;
         【  】;
      }
      return s;
   }
   main()
   {
    int k=0;
    double s;
    clrscr();
    printf("\nPlease input k(k<50):");
    scanf("%d",&k);
    s=fun(k);
    printf("\nS=%lf",s);
   }

选项

答案1 k<=n s*=f/p

解析 第一空:变量s存放最后的计算结果,由公式可知,计算结果为多个数的乘积,所以s应该初始化为1。第二空: for循环的次数为n,由公式可知,k的取值应该从1到n。第三空:for循环求出的f为(2k-1)2k+l,for循环求出的p为(2k +1)2k-1,由公式可知,每—项即为f/p,所以此处应填s*=f/p。
转载请注明原文地址:https://kaotiyun.com/show/rXID777K
0

随机试题
最新回复(0)