题目描述:
求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。
要求输出的结果总宽度占10位,其中小数部分为8位。
程序中使用浮点型数据时,请定义为双精度double类型。
如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double PI = 0;
int n=0;
double i=1; //int和double属于不同类型,转换遵循低精度到高精度转换,
while(fabs(pow(-1.0,n)/i)>=1e-6) //pow(x, n) ,即计算 x 的 n 次幂函数。 double x
{
PI += pow(-1.0,n)/i;
n++;
i += 2;
}
PI *= 4; //记得乘4
printf("PI=%10.8lf",PI);
return 0;
}