devc++ 输出的值总是0.0000000?

#include <stdio.h>
#include <math.h>
int main()
{
double n,pi=0,f=1;
while(1.0/(2*n-1)>1e-7)
{
pi+=f*1.0/(2*n-1);
f=-f;
n=n++;
}
printf("圆周率的近似值:%.7lf\n",4*pi);
return 0;
}
是求Π的近似值的程序(
用公式求 p 的近似值。
直到最后一项的绝对值小于10的-7次方为止。
),求问错误在哪里

第1个回答  2020-04-29
首先double n,pi=0,f=1; 这条语句中并没有对n进行初始化。
没有被初始化的变量可能是任何值。
看了一下,你如果将n初始化为1,还有个地方要修改,下面的n=n++; 这句,改成n++ 就可以了。追问

初始化就是给n赋一个值对吗?我赋值n=1之后就运行不出结果了。。

追答

打个断点,单步跟踪一下看看哪步出问题了。下面的n=n++; 这句,改成n++ 就可以了。

本回答被提问者采纳
第2个回答  2020-04-29
n没有初始值
另外n=n++;写成n++;即可,这个不算错

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网