题目描述:
用如下公式
π 4 = 1 − 1 3 + 1 5 − 1 7 + ⋅ ⋅ ⋅ \frac{\pi}{4}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+··· 4π=1−31+51−71+⋅⋅⋅
求圆周率PI的近似值,直到发现某一项的绝对值小于 1 0 − 6 10^{-6} 10−6为止(该项不累加)。
要求输出的结果总宽度占10位,其中小数部分为8位。
程序中使用浮点型数据时,请定义为双精度double类型。
如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).
输入:
无
输出:
PI=圆周率的近似值
输出的结果总宽度占10位,其中小数部分为8位。
末尾输出换行。
样例输入:
无
样例输出:
PI=3.14159065
实现代码:
#include<cstdio>
int main() {
double sum = 0;
int i = 0;
while(1 / (2 * (double)i + 1) >= 1e-6) {
if(i % 2 == 0) {
sum += 1 / (2 * (double)i + 1);
} else {
sum -= 1 / (2 * (double)i + 1);
}
i++;
}
printf("PI=%10.8f\n", sum * 4);
return 0;
}