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赋初值的原因