前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学C语言(32):求圆周率

小朋友学C语言(32):求圆周率

作者头像
海天一树
发布2018-04-17 13:09:44
1.8K0
发布2018-04-17 13:09:44
举报
文章被收录于专栏:海天一树

(一)圆周率简介

圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 圆周率是一个无理数,即无限不循环小数。在日常生活中,通常都用3.14代表圆周率去进行近似计算。而用十位小数3.141592654便足以应付一般计算。即使是工程师或物理学家要进行较精密的计算,充其量也只需取值至小数点后几百个位。

(二)计算公式

1965年,英国数学家约翰·沃利斯(John Wallis)出版了一本数学专著,其中他推导出一个公式,发现圆周率等于无穷个分数相乘的积。2015年,罗切斯特大学的科学家们在氢原子能级的量子力学计算中发现了圆周率相同的公式: pi/4 = 1/1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ……

(三)利用公式编程求圆周率的值

代码语言:javascript
复制
#include <stdio.h>
#include <math.h>
int main()
{
    float pi = 0;
    int sign = 1;       // 正负符号 
    float deno = 1;     // 分母
    float item = 1;     // 项 
    // fabs是求绝对值的函数,在math.h中声明,在math.c中定义
    // 1e-6中的"-"左右两侧不能有空格;等价于0.000001。同理1e-3等价于0.001 
    while(fabs(item) >= 1e-6)
    {
        pi += item;
        sign = -sign;   // 根据公式,每计算一项,就得变动一次正负号 
        deno +=2;       // 分母每次都自加2 
        item = sign / deno; // 第几项的值,用于下一轮计算 
    }
    pi = 4 * pi;
    printf("pi = %f", pi);
       return 0;
}

运行结果:

代码语言:javascript
复制
pi = 3.141594

注意,这里是精确到小数点后六位,这意味着小数点后的最后一位数字可能是不准确的。

(四)作业

默写程序

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)圆周率简介
  • (二)计算公式
  • (三)利用公式编程求圆周率的值
  • (四)作业
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档