问题 问答题

编写函数fun(),它的功能是:计算和输出下列级数的和。 S=1/(1×2)+1/(2×3)+…+1/(n×(n+1)) 例如,当n=10时,函数值为0.909091。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序; #include<conio.h> #include<stdio.h> double fun(int n) { } main ( ) { clrscr(); printf("%f\n",fun(10)); }

答案

参考答案:

解析:double fun(int n) { int i; double s=0.0; for (i=l; i<=n; i++) s=s+l.0/(i* (i+l)); /*求级数的和*/ return s; } 解决数学序列的问题,我们的思路依然是“数学先行”,即先看清楚题目的数学逻辑,然后再根据C语言来“翻译”出来。本题中,每一项的值都是n*(n+1)的倒数。当输入n时,从1开始循环,注意,此处for(i=1;i

单项选择题
名词解释