问题 问答题

下列给定程序中,函数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。

单项选择题
单项选择题