读书人

为啥这代码不能得到圆周率的值人家说

发布时间: 2013-06-26 14:29:32 作者: rapoo

为什么这代码不能得到圆周率的值,人家说这是求圆周率的代码啊?
#include <stdio.h>

double pi(double eps)
{
double s=0.0,t=1.0;int n;

for (n=1;t>eps;n++)
{
s+=t;t=t*n/(2*n+1);
return (2.0*s);
}
}
void main()
{
printf("%f",pi(0.000001));
}
为什么这代码不能得到圆周率的值,人家说这是求圆周率的代码啊?
[解决办法]
return语句误写入for循环中了:


#include <stdio.h>

double pi(double eps)
{
double s=0.0,t=1.0;int n;

for (n=1;t>eps;n++)
{
s+=t;t=t*n/(2*n+1);
}
return (2.0*s);
}
int main(void)
{
printf("%f",pi(0.000001));
return 0;
}

读书人网 >C语言

热点推荐