用C语言求圆周率

一、主要思路

   1、假设PI代表圆周率;

   2、有公式可知:

PI / 4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 + ...

  它是一个级数。

  缺点:收敛速度很慢,计算精度高的圆周率很消耗时间。

 

二、具体代码(C语言)

#include<stdio.h>

 

// 数学库
#include<math.h>


// 用级数来求圆周率
 
 double doPI(){
     // 存放所有项的和 
     double PI = 0.0;
     
     // 确定正负,和每一项相乘改变方向 
     double direction = 1.0;
     
     // 第一项的分母 
     double mother = 1.0;
     
     // 每一项的结果 
     double item = 0;
     
     // 第几项,当前是第一项 
     int sequence = 1;
     
     // 精度 
     double accuracy = 1E-10;
     
     do{
    
         // 计算某一项的结果 
        item = direction * (1 / mother);
         
         // 改变项数,代表下一项 
         sequence++;
         
         // 改变下一项的方向
         // 偶数是负,奇数是正,不包括第一项。 
         if(sequence % 2 == 0){
             direction = -1.0;
         }else{
             direction = 1.0;
         }
         
        // 计算下一项的分母
        mother = mother + 2.0;
         
        // 结果相加 
        PI = PI + item;
          
         // 如果大于10的负7次方幂,就继续循环,否则退出循环 
     }while(fabs(item) > accuracy);
     
     
     // 计算完毕,乘以4; 
     PI = PI * 4.0; 
     
     // 返回结果 
     return PI;
 }
 
int main(){
    printf("通过级数获得的圆周率的值为:%lf \n", doPI());
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值