pi/4≈1-1/3+1/5-1/7+……,直到某一项的绝对值小于0.000001.
第一次:
我的思路是用for循环
#include "stdafx.h"
#include<stdio.h>
void main()
{
int i;
int n;
int sign=1;
float t,c=1.0,b,pi;
for(i=1;;i++)
{
sign=-sign;
n=2*i+1;
b=1.0/n;
if(b<1e-6)break;
c=c+sign*b;
}
pi=4*c;
printf("%f",pi);
第二次:
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
void main()
{
int i;
int n;
int sign=1;
float t,c=1.0,b,pi;
for(i=1;;i++)
{
sign=-sign;
n=2*i+1;
b=sign*1.0/n;
c=c+b;
if(fabs(b)<1e-6)break;
}
pi=4*c;
printf("%f\n",pi);
}
第一次运行结果出现错误,是没有对c赋初值的原因