P071 计算多项式的值:(1/(2n-1)-1/2n) ★

03-程序设计题 软件121, 唐鼎威 1670浏览

所属年份:2011.3;
请编写函数fun,其功能是:计算并输出下列多项式的值,
S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)

例如,若主函数从键盘给n输入8后,则输出为S=0.662872。

#include <stdio.h>
double fun(int  n)
{

}
main()
{ int  n;    double  s;
  printf("\nInput n:  ");  scanf("%d",&n);
  s=fun(n);
  printf("\ns=%f\n",s);
}

【解题思路】
对于求多项式值的题目,一般都使用循环语句来累加计算多项式的通项。本题中多项式的通项为1/(2n-1)-1/2n,循环变量的取值范围为1~n。注意,存放累加和的变量s要定义为实型,累加时要进行类型转换。
【参考答案】

double fun(int n)
{
   int i;
   double s=0.0;
   for(i=1;i<=n;i++)
      s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)*/
   return s;
}