下列给定程序中,函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值应为49.394948。 请改正程序中的错误,使它能得出正确的结果。 注意:

admin2020-10-26  33

问题 下列给定程序中,函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。

    例如,若q的值为50.0,则函数值应为49.394948。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1  #include<conio.h>
2  #include<stdio.h>
3   double fun(double q)
4  {
5   int n;
6   double s , t;
7    n=2;
8   s=2.0;
9     while (s<=q)
10   {
11   t=s;
12    /*********found*********/
13    s=s+(n+1)/n;
14    n++;
15    }
16   printf(’’n=%d\n’’,n);
17    /*********found*********/
18    return s;
19   }
20    main()
21   {
22   printf(’’%f\n’’,fun(50));
23  }

选项

答案(1)s=s+(double)(n+1)/n; (2)return t;

解析 (1)在C语言中,整数除以整数得出的结果也是整数,因此此处要转换数据类型。
(2)观察while循环,如果返回变量是s,那么返回的是大于q的值,而题中所要返回的是小于q的值,所以应该返回变量t。
转载请注明原文地址:https://jikaoti.com/ti/IzD0FFFM
0

最新回复(0)