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

计算机 程序,近似值,绝对值 已帮助 人

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

π/4≈1-1/3+1/5-1/7+…

例如,程序运行后,输入0.0001,则程序输出3.1414。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <math.h>

include <stdio.h>

float fun(float num)

{ int s;

float n,t, pi;

t=1 ;pi=0; n=1; s=1;

/**************found***************/

while (t>=num)

{

pi=pi+ t;

n=n+2;

s=-s;

/**************found**************/

t=s% n;

}

pi=pi*4;

return pi;

}

main ()

{ float n1, n2;

clrscr ();

printf ("Enter a float number: ");

scanf ("%f", &n1);

n2=fun (n1);

print f (" %6.4 f ", n2);

}

请帮忙给出正确答案和分析,谢谢!

热搜:下面程序的功能是输出数组s中最大元素

答案解析

难度★★☆ 搜索
  • 正确答案:(1)错误:while(t>=num) 正确:while (fabs(t)>=num) (2)错误;t=s %n; 正确:t=s/n;
    (1)错误:while(t>=num) 正确:while (fabs(t)>=num) (2)错误;t=s %n; 正确:t=s/n; 解析:函数fun()中while 语句的含义是,当新的一项大于给定参数时,循环累计,计算s的值。而题目要求是最后一项的绝对值小于给定参数,因此循环条件应当为while (fabs(t)>=num),而非while (t>=num)。