求π的近似值
程序员文章站
2022-07-07 18:35:29
...
用 π/4 ≈1-1/3+1/5-1/7+ …公式求π的近似值,直到发现某一项的绝对值小于10的-6次方为止(该项不累加)
#include <stdio.h>
#include <math.h>
int main(void)
{
int j = 1;//i用来表示分母,j用来表示符号
float pi = 0,term = 1.0,i = 1.0;
while(fabs(term) >= 1e-6)
{
term = (1/i)*j;
pi = pi + term;
i += 2;
j = -j;
}
pi = pi*4;
printf("pi = %f",pi);
}
这个程序很简单
复习:
1.1e-6的意思是1*10的-6次方
2.fabs的使用
说明:
1.当我把i变量定义成int型时,输出结果是4.000000,当换成float型时,输出结果是3.141598
2.第二次运行出现E:[Error] ld returned 1 exit status 在进行.exe删除的时候却告诉我需要获得管理员权限,我只好又新建了个项目,后来发现了我的错误:我竟然让绝对值小于10的-6次方的数参加了运算
进行了如下的修改,就可以了
#include <stdio.h>
#include <math.h>
int main(void)
{
int j = 1;//j用来表示符号
float pi = 0.0,term = 1.0,i = 1.0;
while(fabs(term) >= 1e-6)
{
pi = pi + term;
i += 2;
j = -j;
term = j/i;
}
pi = pi*4;
printf("pi = %10.8f",pi);
return 0;
}