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次方为止。
),求问错误在哪里
展开
 我来答
Getline
2020-04-29 · 科技领域创作者
Getline
采纳数:405 获赞数:2705

向TA提问 私信TA
展开全部
首先double n,pi=0,f=1; 这条语句中并没有对n进行初始化。
没有被初始化的变量可能是任何值。
看了一下,你如果将n初始化为1,还有个地方要修改,下面的n=n++; 这句,改成n++ 就可以了。
追问
初始化就是给n赋一个值对吗?我赋值n=1之后就运行不出结果了。。
追答
打个断点,单步跟踪一下看看哪步出问题了。下面的n=n++; 这句,改成n++ 就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
2020-04-29 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3622万
展开全部
n没有初始值
另外n=n++;写成n++;即可,这个不算错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式