逆流而上_发哥 发表于 2018-7-29 21:35:09

新手求助为什么定义的顺序不同会影响结果

把这个程序的pi=0.0和term=1.0交换下顺序,结果就不同,不科学啊???
int main()
{
      int sign=1;
      double n=0,pi=0.0,term=1.0;
      
      while (fabs(term) >= 1e-8)
      {
            pi=pi+term;
            sign=-sign;
            n=n+2;
            term=sign/n;
         
      
      
      }
      pi=pi*4;
      printf ("pi的值为:%10.7f\n",pi);
      
      
return 0;
}

ba21 发表于 2018-7-29 21:53:57

不知道你哪里搞错了,反正我这里没有不对。

逆流而上_发哥 发表于 2018-7-29 22:08:56

ba21 发表于 2018-7-29 21:53
不知道你哪里搞错了,反正我这里没有不对。

不好意思,我找到问题的关键了,我定义n=0,n应该定义为n=1,不是顺序的问题,尴尬了。。。谢谢大神的回答
页: [1]
查看完整版本: 新手求助为什么定义的顺序不同会影响结果