C语言求π值

什么是π?

这没必要说了吧,略。

方法一

求pi方法1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// for
int main()
{
int i = 0;
double p = 1;
double term = 1;
int t = -1;
for (i = 3; fabs(term) > 1e-6; i += 2)
{
term = 1.0 / i * t;
p = p + term;
t = -t;
}
p = p * 4;
printf("%lf\n", p);

return 0;
}

// while
int main()
{
float s = 1;
float pi = 0;
float i = 1.0;
float n = 1.0;
while (fabs(i) >= 1e-6)
{
pi += i;
n = n + 2;
s = -s;
i = s / n;
}
pi = 4 * pi;
printf("pi的值为:%.6f\n", pi);

return 0;
}

方法二

计算前100项的和。
求pi方法2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
double pi = 1.0;
int i = 0;
for (i = 1; i <= 100; i++)
{
if (i % 2 == 1)
{
pi *= (i + 1) * 1.0 / i;
}
else
{
pi *= i * 1.0 / (i + 1);
}
}
pi = pi * 2;
printf("%lf", pi);

return 0;
}