#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初始化为1,还有个地方要修改,下面的n=n++; 这句,改成n++ 就可以了。追问
初始化就是给n赋一个值对吗?我赋值n=1之后就运行不出结果了。。
追答打个断点,单步跟踪一下看看哪步出问题了。下面的n=n++; 这句,改成n++ 就可以了。
本回答被提问者采纳第2个回答 2020-04-29
n没有初始值
另外n=n++;写成n++;即可,这个不算错
另外n=n++;写成n++;即可,这个不算错