
C语言 π/2=2/1*2/3*4/3*4/5*6/5*6/7 求前100项之积计算π的值
intmain(){inti,j;floatpi,n,m,o,p;for(i=1,n=1;i<=99;i=i+2){o=(i+1)/i;n=n*o;}for(j=2,m=...
int main()
{
int i,j;
float pi,n,m,o,p;
for(i=1,n=1;i<=99;i=i+2)
{
o=(i+1)/i;
n=n*o;
}
for(j=2,m=1;j<=100;j=j+2)
{
p=j/(j+1);
m=m*p;
}
pi=n*m*2;
printf("pi=%f\n",pi);
return 0;
}
=================================================================
我这么写错在哪?为什么输出的都是0? 展开
{
int i,j;
float pi,n,m,o,p;
for(i=1,n=1;i<=99;i=i+2)
{
o=(i+1)/i;
n=n*o;
}
for(j=2,m=1;j<=100;j=j+2)
{
p=j/(j+1);
m=m*p;
}
pi=n*m*2;
printf("pi=%f\n",pi);
return 0;
}
=================================================================
我这么写错在哪?为什么输出的都是0? 展开
展开全部
数据类型问题,把i、j用float定义。
追问
多谢多谢~那算法的过程有问题吗?这样π算出来是3.12多
追答
嗯,那是因为才100项,这个公式应该只是近似公式
如果没问题请采纳,有问题请提出。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |