所属年份: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; }