c语言的一道问题
doublefun(doubleeps){inti,j;doublet=1,s=1,g=1;for(i=1;s>eps;i++){for(j=1;j<i+1;j++){s...
double fun ( double eps)
{
int i,j;double t=1,s=1,g=1;
for(i=1;s>eps;i++)
{
for(j=1;j<i+1;j++)
{ s=s*((double)j/(double)(2*j+1));
// g*=2*j+1;
}
t+=s;
// if(s<=eps) break;
}
t=t*2;
return t;
}
求π 上面函数为什么得不出答案 展开
{
int i,j;double t=1,s=1,g=1;
for(i=1;s>eps;i++)
{
for(j=1;j<i+1;j++)
{ s=s*((double)j/(double)(2*j+1));
// g*=2*j+1;
}
t+=s;
// if(s<=eps) break;
}
t=t*2;
return t;
}
求π 上面函数为什么得不出答案 展开
4个回答
展开全部
double fun(double eps)
{
double pi=1, t=1, i=0;
eps /= 2; // 因为是先求pi/2
while(t > eps)
{
i += 1.0;
t *= i/(2*i+1);
pi = pi+t;
}
return pi*2;
}
{
double pi=1, t=1, i=0;
eps /= 2; // 因为是先求pi/2
while(t > eps)
{
i += 1.0;
t *= i/(2*i+1);
pi = pi+t;
}
return pi*2;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这道题结果不对,关键是参数eps不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询