这个程序始终没有出现结果,请问是哪里错了呢?求助
#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);
} #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);
} 这一句有问题,循环变量 i 始终不变,导致死循环
for( ;i < 15;i+2,n++)
应该改成下面这样
for( ;i < 15;i+=2,n++) jackz007 发表于 2019-10-24 16:15
这一句有问题,循环变量 i 始终不变,导致死循环
for( ;i < 15;i+2,n++)
应该改成下面这 ...
好的,谢谢您!我刚刚检查一下才发现这个问题 for( ;i < 15;i+2,n++)中i+2,i的值始终没变,所以无限循环了 yuweb 发表于 2019-10-24 16:17
for( ;i < 15;i+2,n++)中i+2,i的值始终没变,所以无限循环了
好的,谢谢您!刚刚检查出来{:9_234:}
页:
[1]