帮忙解决一道初级编程题~π 的值可以用以下公式近似求得:令a = 1,3,5,7,……,b=1或 -1,c = b /

帮忙解决一道初级编程题~
π 的值可以用以下公式近似求得:
令a = 1,3,5,7,……,b=1或 -1,c = b / a表示括号中的每一项.
编写程序,计算 π 的近似值(忽略掉c的绝对值小于10-6的所有项),并累计此时括号中参与运算的总项数,输出这两个结果.
我的程序如下:
#include
#include
int main()
{
int n;
double a,b,c,f,PI=0;
for(n=1;;n++)
{
a=2*n-1;
if(n/2==0) b=-1;
else b=1;
c=b/a;
PI=4*PI+4*c;
f=fabs(c);
if(f
cvchuan 1年前 已收到1个回答 举报

wutunaseng 幼苗

共回答了25个问题采纳率:88% 举报

两处修改建议,第一,if (n/2 == 0),应该修改成if (n % 2 == 1),判断奇偶应该用是否可以被2整除而不是除以2.第二,PI 的累积求和不应该是PI=4*PI+4*c;在定义PI的时候应该先赋给初值4.0,然后PI=4*PI+4*c的这句修改成PI +...

1年前 追问

8

cvchuan 举报

谢谢了~~ 大致问题解决了 但是输出结果是3.214601 为什么不够精确啊 是因为对c的控制程度太靠前了 ?

举报 wutunaseng

嗯,在我这里运行也是这个结果。 因为题目里有这样一句话: 忽略掉c的绝对值小于10-6的所有项, 所以你得到的是一个近似值。 主要是看程序本身 :)

cvchuan 举报

那这个答案也就没问题啰 ? 谢谢你拉~~

举报 wutunaseng

我觉得是没有问题的。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.039 s. - webmaster@yulucn.com