#include <stdio.h>
int main()
{
double pi;
int i = 0;
float d = 1;
int sign = 1;
double e = 1e-5;
pi = 1;
for (i = 1; d > e; ++i)
{
sign = -sign;
d = 1.0 / (2 * i + 1);
pi += sign * d;
printf("i = %d, d = 1/%d = %f, pi/4 = %f\n", i, (2 * i + 1), d * sign, pi);
}
pi *= 4;
printf("Final pi: %f\n", pi);
}
// output
i = 1, d = 1/3 = -0.333333, pi/4 = 0.666667
i = 2, d = 1/5 = 0.200000, pi/4 = 0.866667
i = 3, d = 1/7 = -0.142857, pi/4 = 0.723810
i = 4, d = 1/9 = 0.111111, pi/4 = 0.834921
i = 5, d = 1/11 = -0.090909, pi/4 = 0.744012
i = 6, d = 1/13 = 0.076923, pi/4 = 0.820935
i = 7, d = 1/15 = -0.066667, pi/4 = 0.754268
i = 8, d = 1/17 = 0.058824, pi/4 = 0.813091
i = 9, d = 1/19 = -0.052632, pi/4 = 0.760460
i = 10, d = 1/21 = 0.047619, pi/4 = 0.808079
......
i = 49995, d = 1/99991 = -0.000010, pi/4 = 0.785393
i = 49996, d = 1/99993 = 0.000010, pi/4 = 0.785403
i = 49997, d = 1/99995 = -0.000010, pi/4 = 0.785393
i = 49998, d = 1/99997 = 0.000010, pi/4 = 0.785403
i = 49999, d = 1/99999 = -0.000010, pi/4 = 0.785393
i = 50000, d = 1/100001 = 0.000010, pi/4 = 0.785403
Final pi: 3.141613
附注:求赞助积分和C币。加入CSDN将近20年了。最近几年忙小孩没登录。刚才搜索到一本电子书想下载,需要20积分/C币。已经收到8元了,还查12元。赞助多少都可以。多谢。
源程序
#include "stdio.h"
#include "math.h"
int main(void)
{
double pi4 = 0;
double j = 0;
double i = 1;
while(true)
{
j = pow(-1, i + 1) * (1.0 / (2 * i - 1));
//求绝对值
if (fabs(j) <= 0.00001)
break;
else
{
pi4 += j;
i++;
}
}
printf("π = %f\n", pi4 * 4);
return 0;
}
输出结果
π = 3.141573
如有帮助还望采纳