54黑科技 发表于 2019-10-24 16:06:24

这个程序始终没有出现结果,请问是哪里错了呢?求助

#include <stdio.h>
#include <math.h>

int main()
{
        int i = 1,n = 1;
        double sum = 0,PI;
        for( ;i < 15;i+2,n++)
        {
                if(n%2 != 0)
                {
                        sum = sum + 1.0/i;
                }
                else
                {
                        sum = sum - 1.0/i;
                }
        }
        PI = sum*4;
        printf("π的近似值为: %10.6lf \n",PI);
}

54黑科技 发表于 2019-10-24 16:12:35

#include <stdio.h>
#include <math.h>

int main()
{
        int i = 1,n = 1;
        double sum = 0,PI;
        for( ;i < 50000;i++,n++)
        {
                if(n%2 != 0)
                {
                        sum = sum + 1.0/i;
                }
                else
                {
                        sum = sum - 1.0/i;
                }
        }
        PI = sum*4;
        printf("π的近似值为: %10.6lf \n",PI);
}

jackz007 发表于 2019-10-24 16:15:32

    这一句有问题,循环变量 i 始终不变,导致死循环
      for( ;i < 15;i+2,n++)
    应该改成下面这样
      for( ;i < 15;i+=2,n++)

54黑科技 发表于 2019-10-24 16:17:22

jackz007 发表于 2019-10-24 16:15
这一句有问题,循环变量 i 始终不变,导致死循环
      for( ;i < 15;i+2,n++)
    应该改成下面这 ...

好的,谢谢您!我刚刚检查一下才发现这个问题

yuweb 发表于 2019-10-24 16:17:59

for( ;i < 15;i+2,n++)中i+2,i的值始终没变,所以无限循环了

54黑科技 发表于 2019-10-24 16:19:35

yuweb 发表于 2019-10-24 16:17
for( ;i < 15;i+2,n++)中i+2,i的值始终没变,所以无限循环了

好的,谢谢您!刚刚检查出来{:9_234:}
页: [1]
查看完整版本: 这个程序始终没有出现结果,请问是哪里错了呢?求助