mack1983 发表于 2014-3-11 15:22:54

求派的问题,∏/4≈1-1/3+1/5-1/7+1(通过单步调试,问题己解决.)

本帖最后由 mack1983 于 2014-3-11 15:57 编辑

直接上图上代码:

//题目:用∏/4≈1-1/3+1/5-1/7+1。。。。公式求∏的近似值,直到某一项的
//绝对值小于1e-6为止.
//程序提示:
//1。要确定处算的精度,可以配合while循环语句用fabs()函数确定
//精度来退出。
//2。据观察,分子不变,分母却每次递增2,且正负切换。
//3。记得结果乘以4。
#include <stdio.h>
#include <math.h>
void main()
{
int s;
double n,t,pi;
// ∏/4≈1-(1/3)+(1/5)-(1/7)+(1/9)
t=1;
pi=0;
n=1.0;
s=1;
while(fabs(t)>1e-6) // t=1 t的绝对值还是1, le-6=0.000001
{
pi=pi+t;   //            pi=0+1
n=n+2;      //分母   n=3.0
s=-s;          //符号   s=-1
t=s/n;       //             t=-1/3   这里只是把原来1/3变成-1/3 =-0.3333333333...

                  //?          1-(1/3)的操作呢?正常的1-(1/3)=1-0.333333=0.677777,这里并没有看到这个
               //            或有代替这个的操作啊,上一步把正的0.333333变成-0.333333,1--0.333333,
               //            也变成了1+0.333333,跟公式里的1-(1/3)也不符啊~~
                //               请有空的大虾解答一下~~
}
pi=pi*4;
printf("pi=%10.6lf\n",pi);
}
页: [1]
查看完整版本: 求派的问题,∏/4≈1-1/3+1/5-1/7+1(通过单步调试,问题己解决.)