鱼C钰 发表于 2020-5-20 18:30:50

这程序有什么问题

#include <stdio.h>
#include <math.h>
int main()
{
        int s=1;
        float a=1,pi=0 ,b=1.0;
        b=1.0;
        while(fabs(a)>1e-6)
        {
       pi=pi+s; b=b+2; s=-s;a=s/b;
   
    }
    pi=pi*4;
    printf("pi=%.5lf\n",pi);
}

qiuyouzhi 发表于 2020-5-20 18:35:02

你那个while循环里面的第三个赋值,为什么是对s取反?

sunrise085 发表于 2020-5-20 19:25:22

while循环内第一个式子写错了,应该是pi=pi+a
#include <stdio.h>
#include <math.h>
int main()
{
      int s=1;
      float a=1,pi=0 ,b=1.0;
      b=1.0;
      while(fabs(a)>1e-6)
      {
         pi=pi+a; b=b+2; s=-s;a=s/b;
   
    }
    pi=pi*4;
    printf("pi=%.5lf\n",pi);
}
页: [1]
查看完整版本: 这程序有什么问题