devc++ 输出的值总是0.0000000?
#include<stdio.h>#include<math.h>intmain(){doublen,pi=0,f=1;while(1.0/(2*n-1)>1e-7){p...
#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次方为止。
),求问错误在哪里 展开
#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次方为止。
),求问错误在哪里 展开
2个回答
展开全部
首先double n,pi=0,f=1; 这条语句中并没有对n进行初始化。
没有被初始化的变量可能是任何值。
看了一下,你如果将n初始化为1,还有个地方要修改,下面的n=n++; 这句,改成n++ 就可以了。
没有被初始化的变量可能是任何值。
看了一下,你如果将n初始化为1,还有个地方要修改,下面的n=n++; 这句,改成n++ 就可以了。
追问
初始化就是给n赋一个值对吗?我赋值n=1之后就运行不出结果了。。
追答
打个断点,单步跟踪一下看看哪步出问题了。下面的n=n++; 这句,改成n++ 就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询