求pi的近似值
根据pi/4≈1-1/3+1/5-1/7+…求pi的近似值。#include <stdio.h>
int main()
{
int i, sign = 1;
double s = 0;
for (i = 1;i<1000000; )
{
s = s + sign / i;
sign = -sign;
i = i + 2;
}
printf("pi=%lf", 4 * s);
return 0;
}
想问一下大家这个程序对不对?运行结果为4,不管for循环的条件中1000000改成什么数结果都为4,不知道这是怎么回事? 帮你修改了,并做了解释。int和int相除结果仍为int
#include <stdio.h>
int main()
{
int i;
double s = 0, sign = 1;//把sign写在这里
for (i = 1;i<1000000; )
{
s = s + sign / i;//若sign为int,那这里sign/i将会一直为0
sign = -sign;
i = i + 2;
}
printf("pi=%lf", 4 * s);
return 0;
} sunrise085 发表于 2020-7-14 17:04
帮你修改了,并做了解释。int和int相除结果仍为int
非常感谢!
页:
[1]