用π/4=1-1/3+1/5-1/7+....公式求π的近似值,直到最后一项的绝对值小于10*6为止。

matlab习题

放到后面,应为执行完for下面的大括号才执行 这句 n=n+2
严格按照你列出来的等式,每执行一次for循环体进行一次算术运算,改成下面这样就可以了
#include <stdio.h>
#include <math.h>
int main()
{
int s;
double t,n,pi;
s=-1,t=1,n=1.0,pi=0;
for(t=1;fabs(t)>=1e-6;n=n+2)
{
s=-s;
t=s/n;
pi=pi+t;
}
pi=pi*4;
printf("%.6f\n",pi);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-19
#include<stdio.h>
int main()
{
double pi=0,b;
int i,a=1,j=1;
b=1.0/a;
while(b>=1e-6)
{
if(j)
{
pi+=b;
j=0;
}
else
{
pi-=b;
j=1;
}
a+=2;
b=1.0/a;
}
printf("%lf\n",pi*4);
}

程序跑的有点慢, 运行之后等一下就好了0。0
10*6有点大了。
相似回答