下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。 例如,程序运行后,输入0.0001,则程序输出3.1414。 请改正程序中的错误,使它能得出正确的结果。 注意:不

admin2020-07-28  33

问题 下列给定程序中,函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

    例如,程序运行后,输入0.0001,则程序输出3.1414。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1   #include<stdlib.h>
2   #include<math.h>
3   #include<stdio.h>
4   float fun(float num)
5   {
6    int s;
7    float n , t , pi;
8    t=1;pi=0;n=1;s=1;
9    /*********found*********/
10    while(t>=num)
11    {
12    pi=pi+t;
13    n=n+2;
14    s=-s;
15   /*********found*********/
16   t=s%n;
17    }
18   pi=pi*4;
19    return pi;
20  }
21    void main()
22  {
23    float n1,n2;
24   system(’’CLS’’);
25   printf(’’Enter a float num-ber:’’}
26    scanf(’’%f’’,&n1);
27    n2=nun(n1);
28   printf(’’%6.4 f\n’’,n2);
29  }

选项

答案(1)while(fabs(t)>=num) (2)t=s/n;

解析 (1)函数fun中while语句的作用是,当新的一项大于给定参数时,循环累计计算s的值。题日要求最后一项的绝对值小于给定参数,因此循环条件应当是while(fabs(t)>=num)。
(2)变量t用来存放最后一项的值,因为每一项均为1或-1除以一个数,所以此处应使用除法运算符“/”。
转载请注明原文地址:https://kaotiyun.com/show/5H3p777K
0

最新回复(0)