编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n) 例如:若n的值为11时,函数的值为1.833333。 注意:部分源

admin2010-05-05  41

问题 编写函数fun(),函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
   S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)
   例如:若n的值为11时,函数的值为1.833333。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
       #include <conio.h>
       #include <stdio.h>
       #include <string.h>
       float fun(int n)
       {

       }
       main()
       {
         int n;
         float s;
         clrscr();
         printf("\nPlease enter N: ");
         scanf("%d",&n);
         s=fun(n);
         printf("The result is:%f\n " , s);
       }

选项

答案float fun(int n) { int i,s1=0; float s=0.0; for(i=1;i<=n;i++) {s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; }

解析 本题中用s1来表示式中每一项的分母,而每一项的分母都是其前一项分母加项数。注意由于s1定义成一个整型,所以在s=s+1.0/s1中不能把1.0写成1。
转载请注明原文地址:https://kaotiyun.com/show/nXID777K
0

相关试题推荐
最新回复(0)