我这代码有啥问题啊
我写了一个按pi/4=1-1/3+1/5-1/7公式求pi近似值的代码,为什么求不出来啊#include<stdio.h>
#include<math.h>
int main()
{
int i,j,cnt=1;//i是分子,j是分母,我用cnt来看什么时候取负号。
double sum=0;
i=1;
j=1;
while (1)
{
if(cnt%2==0)
{
i=-i;
}
sum=sum+i/j;
j=j+2;
cnt++;
if(fabs(sum)>1e-6)
{
break;
}
}
printf("%f",sum);
return 0;
}
是没有结果还是答案错误? 问题1 i/j 应用浮点 如 2.0 /1
问题2 fabs(sum)>1e-6 判断这里
#include<stdio.h>
#include<math.h>
int main()
{
double pi=0, i = 1, j = 1, t = 1;
while (fabs(t)>1e-6)
{
pi += t;
j += 2;
i = -i;
t = i/j;
}
printf("%f",pi*4); // 最后还得*4
return 0;
} qiuyouzhi 发表于 2020-2-17 14:50
是没有结果还是答案错误?
没有结果,没法输出 ba21 发表于 2020-2-17 14:59
问题1 i/j 应用浮点 如 2.0 /1
问题2 fabs(sum)>1e-6 判断这里
我逻辑上有啥问题吗,我把我代码改成浮点型,精度判断那里改了还是不行
页:
[1]