问题 问答题

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


请改正程序中的错误,使它能得出正确的结果。
注意:不要改动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;

void main()

float n1, n2;
printf("Enter a float number:";
scanf("%f",&n1);
n2=fun(n1);
printf("%6.4f\n", n2);

答案

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

解析: (1) while语句用来累计计算PI的值,根据题意最后一项的绝对值小于给定参数循环终止,因此应当是while(fabs(t)>=num)。
(2)每一项的值存放在变量t中,每一项均为1或一1除以一个数,所以应使用除法运算符。

单项选择题
判断题