C语言近似值求pi,C语言-计算π的近似值

aac8ad7e8254ff53df139f8c5b0fb150.png

需要先了解一下abs()是对整数取绝对值, 而fabs()是对浮点数取绝对值,保证绝对值小于0.00001

1e-5就是 1*(10的-5次方)即0.00001

第一个数可以看做1/1,所以分母都是以2为公差的等差数列

使用while-do循环的时候,先需要sum的值为1

#include #include int main(void){

//while循环是先执行判断再执行循环体

//所以count用来计数一共累加多少个从1开始,n作为分母也从1开始

int n=1,count=1;

//取最后的累加和使用类型为double类型

double sum=1.0,term=1.0,sign=1;

//1e-5就是 1*(10的-5次方)即0.00001

while (fabs(term)>=1e-5){

count++;

sign=-sign;

n=n+2;

term=sign/n;

sum=sum+term;

}

printf("π=%f \n 一共累加项count=%d\n",4*sum,count);

}

98ba2d73ae55a03d84785802789e3fd7.png

方法二使用

do-while循环,先执行循环体再判断条件

第一次循环体先执行了所以

所以初始化的时候sum=0,term=0,count=0

#include #include int main(void){

//do-while循环是先执行循环体再判断

//n作为分母也从1开始

//count从0开始,因为第一次执行再do循环体中

int n=1,count=0;

//取最后的累加和使用类型为double类型

//sum就从0开始因为第一次执行再do循环体中

//term也是为0

double sum=0,term=0,sign=1;

//1e-5就是 1*(10的-5次方)即0.00001

do {

term = sign / n;

sum = sum + term;

count++;

sign = -sign;

n = n + 2;

} while (fabs(term) >= 1e-5);

printf("π=%f \n 一共累加项count=%d\n",4*sum,count);

}

4bbbeba7bc8d12d667e33892fc7e6470.png

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值