问题
问答题
下列给定程序中,函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。
例如,若q的值为50.0,则函数值应为49.394948。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
double fun(double q)
int n;
double sf;
n=2;
s=2.0;
while(s<=q)
t=s;
/********found********/
s=s+(n+1)\n;
n++;
printf("n=%d\n",n);
/********found********/
return s;
]
main()
printf"%f\n",fun(50));
答案
参考答案:
s=s+(double)(n+1)/n; (2)return;
解析:
本题关键字有:变量数据类型强制转换;return语句。
[微分析]
(1)两个整数相除的结果也是整数,因此要进行数据类型转换。
(2)while循环结束时变量s的值大于q的值,题目要求返回小于q的值,所以应该返回变量t。