C语言计算圆周率PI的近似值(Leibniz级数法)
下面是用C语言编写的求pi的近似值的代码,使用Leibniz级数的方法来近似计算pi的值。
#include <stdio.h>
int main() {
double pi = 0.0;
double term = 1.0;
int n = 0;
while (term >= 1e-4) {
pi += term;
n++;
term = 1.0 / (2 * n + 1) * ((n % 2 == 0) ? 1 : -1);
}
printf('pi=%10.6f\n', 4 * pi);
return 0;
}
代码解释:
-
初始化变量:
pi:用来存储pi的近似值,初始值为0.0。term:用来存储当前项的值,初始值为1.0。n:用来记录当前项的序号,初始值为0。
-
循环计算:
while (term >= 1e-4):循环条件,当当前项的绝对值大于等于1e-4时,继续循环。pi += term:将当前项的值加到pi中。n++:将序号n加1。term = 1.0 / (2 * n + 1) * ((n % 2 == 0) ? 1 : -1):计算下一项的值。1.0 / (2 * n + 1):计算项的分母。(n % 2 == 0) ? 1 : -1:根据序号的奇偶性,决定项的正负号。
-
输出结果:
printf('pi=%10.6f\n', 4 * pi):输出pi的近似值,保留6位小数。
这段代码使用Leibniz级数的方法来近似计算pi的值,直到最后一项的绝对值小于1e-4为止。循环中,我们不断累加每一项的值,并在每一次循环中计算出当前项的值,并根据当前项的奇偶性来决定正负号。最后,将累加的结果乘以4,即可得到pi的近似值,并按要求的格式输出。
原文地址: https://www.cveoy.top/t/topic/pizO 著作权归作者所有。请勿转载和采集!