源程序
/*
用格里高利公式计算
π
的近似值,精度要求:最后一项的绝对值小于
10
–
5
*/
#include
#include
/*
程序中调用绝对值函数
fabs
,
需包含
math.h*/
voidmain()
{
intflag,t;
doubleitem,pi;/*pi
用于存放累加和
*/
/*
循环初始化
*/
flag=1;
/*
变量
flag
表示第
i
项的符号,初始为正
*/
t=1;/*
变量
t
表示第
i
项的分母,置第
1
项的分母为
1
*/
item=1.0;
/*item
中存放第
i
项的值,初值取
1*/
pi=0;/*
置累加和
pi
的初值为
0*/
/*
当
|item|
≥
0.0001
时,执行循环
*/
while(fabs(item)>=0.00001){
item=flag*1.0/t;
/*
计算第
i
项的值
*/
pi=pi+item;
/*
累加第
i
项的值
*/
flag=-flag;
/*
改变符号,为下一次循环做准备
*/
t=t+2;
/*
分母递增
2
,为下一次循环做准备
*/
}
pi=pi*4;
/*
循环计算的结果是
pi/4*/
printf(
“
pi=%f\n
”
,pi);
}