这个用for循环直接做出来就好了。
控制精度即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,sign=1;
float s=1,pi=0,n=1;
while (fabs(s) >= 1e-6)
{
pi += s;
n += 2;
sign = -sign;
s = sign / n;
}
pi *= 4;
cout<<pi;
return 0;
}
供参考:
#include<stdio.h>
#include<math.h>
int main()
{
int t=1,i=1;
double tmp,s=0;
do {
tmp = 1.0*t/i;
s += tmp;
t = -t;
i +=2;
}while(fabs(tmp) > 1e-06);
printf("%f\n",s*4);
return 0;
}