正在进行安全检测...
发布时间:2024-03-08 11:15:26 来源:文档文库
小
中
大
字号:
用格里高利公式求π的近似值
17世纪,英国人格里高利(JamesGregory)用下式计算π值,这就是格里高利公式。请利用该公式求π的近似值,精确到最后一项的绝对值小于10–5。
π11114357
>>>>>>>>>>>>>>>>
这是一个求累加和的问题,与2.4节例2-11相似,循环算式都是:
sum=sum+第i项
其中,第i项用变量item表示,item的表示也和例2-11相同,在每次循环中其值都会改变。
两题的不同之处在于循环条件不一样,例2-11直接说明求前n项和,即指定了循环的次数为n次;而本题没有显式地给出循环次数,而是提出了精度要求。在反复计算累加的过程中,一旦某一项的绝对值小于10–5(|item|≤10–5),就达到了给定的精度,计算中止。这说明精度要求实际上给出了循环的结束条件,还需要将其转换为循环条件|item|≥10–5,换句话说,当|item|≥10–5时,要循环累加item的值,直到|item|<10–5为止。
通过上面的分析,我们明确了循环条件和循环体,并选择while语句实现循环。>>>>
源程序
/*用格里高利公式计算π的近似值,精度要求:最后一项的绝对值小于10–5*/
#include
#include/*程序中调用绝对值函数fabs,需包含math.h*/
voidmain(
{
intflag,t;
doubleitem,pi;/*pi用于存放累加和*/
/*循环初始化*/
flag=1;/*变量flag表示第i项的符号,初始为正*/
t=1;/*变量t表示第i项的分母,置第1