超级甲鱼粉 发表于 2019-11-19 22:47:28

c语言初学者求助

根据公式 派/4 = 1 - 1/3 + 1/5 - 1/7 ....... 求派的近似值,并确定精度。我的程序输出一个负的很大的数,而且从如果从for的那行开始调试此时a 的值就是那个负的很大的数,而且我按F10想往下调试的时候就谈出来一个窗口不知道说的的是什么就是不让往下调试了。请大佬帮我看一下哪里错了谢谢。
#include<stdio.h>

void main()

{
        int x, y = 3, z = 3;
        double a, panduan, pai;
        for(a=1.0;panduan>=0;y = y + 2)
        {
                if(z%2!=0)   //-----------------------------------------------------------------判断正负号
                {
                        a = a - 1/y;
                        z++;
                }
                else
                {
                        a = a + 1/y;
                        z++;
                }
                pai = a*4;
                x =(int)pai;
                panduan = 1000000*a - 1000000*x; //------------------------------------------限定精度
        }
        printf("%lf\n",pai);
}

jackz007 发表于 2019-11-20 00:55:38

#include <stdio.h>

int main(void)
{
      double b , pi                  ;
      int e , k                        ;
      for(pi = 0.0 , e = 1 , k = 1 , b = 1.0 ; b > 1e-8 ; k += 2) {
                b = 1.0 / k            ;
                pi += b * e            ;
                e = - e                  ;
      }
      printf("pi = %.6lf\n" , pi * 4);
      return 0                         ;
}
       编译、运行情况:
C:\Bin>g++ -o x x.c

C:\Bin>x
pi = 3.141593

C:\Bin>
页: [1]
查看完整版本: c语言初学者求助