P097 计算多项式的值:1/(n×(n+1)) ★

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

所属年份:2012.3;
请编写函数fun,其功能是:计算并输出下列多项式的值。
S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))
例如,当n=10时,函数值为0.909091。

#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
double fun(int n)
{
 
}
void main()
{ 
  FILE *wf;
  system("CLS");
  printf("%f\n",fun(10));
/******************************/
  wf=fopen("out.dat","w");
  fprintf(wf,"%f",fun(10));
  fclose(wf);
/*****************************/
}

【解题思路】
本题要求级数的和,由多项式的形式可知,应使用循环语句实现,循环的通项为1/n(n+1)。本程序首先定义了和变量及循环变量,然后运用一个for语句求出级数的和,最后将和变量s返回。

【参考答案】

double fun(int n)
{
  int i;
  double s=0.0;
  for(i=1;i<=n;i++)
     s=s+1.0/(i*(i+1));    /*求级数的和*/
  return s;
}