#include
#include
int main()
{
double a,b,c,d,e,f,pi,sum;
a=0;
b=1;
f=0;
sum=0;
while(b<500000)
{
a=2a+1;
b=2b+1;
c=1/a;
d=1/b;
f=c-d;
sum=sum+f;
a++;
b++;
}
pi=4/sum;
printf("pi=%.8f",pi);
return 0;
} 怎么有错误?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
#include <stdio.h>
int main()
{
double a, b, c, d, e, f, pi, sum;
a = 1;
b = 3;
f = 0;
sum = 0;
while (b < 50000000)/*每次循环做一个1/(2*n-1)-1/(2*n+1),但是公式里的2n-1并不一定表现在程序里的2n-1*/
{
c = 1 / a;
d = 1 / b;
f = c - d;
sum = sum + f;
a += 4;
b += 4;
}
pi = sum * 4;/*你的公式都错了。是pi/4=1-1/3+1/5-1/7...*/
printf("pi=%.8f", pi);
getchar();
return 0;
}