/***************************************************

* 功能:

*        通过概率法和切割法计算圆周率

* 说明:

*        概率法需要输入圆没的点数

*        切割法需要输入切割的次数

***************************************************/

#include

#include

#include

#include

/* 概率法计算圆周率 */

int probability_calculate_pi()

{

int i,n,sum=0;

double x,y;

printf("please input point count\n");//输入点的数量

scanf("%d",&n);

srand(time(NULL));

for(i=0;i

{

x =(double) rand()/RAND_MAX; //产生0~1的一个随机数x

y =(double) rand()/RAND_MAX; //产生0~1的一个随机数y

if( (x*x + y*y)<=1)

{

sum++;

}

}

printf("PI=%f\n",(double)4*sum/n);

return 0;

}

/* 割圆法计算圆周率 */

int cyclotomic_calculate_pi()

{

int i,n,s;

double k,y2;

printf("please input incision count\n");//输入切割次数

scanf("%d",&n);

i = 0;

k = 3.0;

y2 = 1.0;

s = 6;

while(i

{

printf("the %dth incision,is %d, PI=%.24f\n",i,s,k*sqrt(y2));

s*=2;

y2 = 2-sqrt(4-y2);

i++;

k*=2.0;

}

return 0;

}

int main(int argc,char *argv[])

{

probability_calculate_pi();

cyclotomic_calculate_pi();

return 0;

}

运行结果如下图所示:

原文:http://blog.csdn.net/qlx846852708/article/details/43085783

c语言计算圆周率的方法,c语言学习之不同方式计算圆周率相关推荐

  1. c 语言中逻辑运算符使用方法,C语言的逻辑运算符的使用

    逻辑运算符使用分析 &&和|| 1.程序中的短路 短路规则 ||从左向右开始计算当遇到为真的条件时停止计算整个表达式为真所有条件为假时表达式才为假. &&从左向右开始计 ...

  2. linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    http://www.jb51.net/article/46139.htm 1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo a ...

  3. c语言汇编混合编程方法,C语言和汇编语言混合编程方法

    摘要: C语言是一种高级的面向过程的开发语言,汇编语言是一种低级的面向机器的编程语言.两者在程序设计开发方面各有优劣,目前两者的混合编程得到了广泛的应用.本文通过具体的实例,说明了混合编程的基本方法, ...

  4. go语言 第三方包安装方法_R语言3.6.3 安装程序下载及破解方法

    下载地址 百度网盘链接: https://pan.baidu.com/s/16smT3ceIjqaupn54AdgmgQ 提取码:7hap 解压密码:关注[菜瓜程序猿]微信公众号,回复[解压密码]获取 ...

  5. c语言调查问卷统计方法,C语言程序教学的问卷调查分析与教学改革.doc

    C语言程序教学的问卷调查分析与教学改革 摘要:C语言程序是学习和掌握计算机技术的基础课程,如何改革该课程教学,提高教学质量,一直是人们所关注与探讨的问题.本文从对学生的问卷调查结果的分析入手,总结.剖 ...

  6. c语言效率最高排序方法,C语言综合实现所有排序方法及效率比较.doc

    C语言综合实现所有排序方法及效率比较 #include#include#include #include #define N 50000typedef char elemtype;typedef st ...

  7. c语言xml库调用方法,c语言如何调用xml的接口函数?

    富国沪深 1.Libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件.它除了支持c语言版以外,还支持c++.PHP.Pasca ...

  8. C语言指针互换的方法,C语言-运用指针进行角色互换

    问题描述:运用指针进行角色互换 源代码: /*运用指针进行角色互换*/ /*只有方案二可以完成角色互换*/ #include void swap1(int x,int y),swap2(int *px ...

  9. C语言超链接的使用方法,c语言课程第五讲超链接.ppt

    c语言课程第五讲超链接 ;第五讲 超级链接 1. 路径 2. 超链接的属性 3. 链接的种类 4. 图像地图超链接 ;什么是超链接:所谓的超链接是指从一个对象指向另一个对象的链接关系,源对象可以是文本 ...

  10. c语言 变参函数的使用方法,c语言变参函数的vsprintf与va_list的用法

    在调cgi的时候原本想写一个简单的log,但是入参始终不对,昨晚很丧气,今早起来再查看,发现了bug 之前是这么写的,arg得到的值却总是不对,然后才发现有vsprintf函数专门用来函数变参的: i ...

最新文章

  1. nodejs npm install -g 全局安装和非全局安装的区别
  2. 美媒人工智能(AI)代表了计算的优点,没有人类推理的缺点
  3. 使用FIR.im发布自己的移动端APP
  4. gettimeofday
  5. linux文件编程(3)—— main函数传参、myCp(配置成环境变量)、修改配置文件、整数和结构体数组写到文件
  6. HTML--HTML对象的关于位置和大小的属性的图解
  7. 关于数据库“事务”“索引”“实例”的含义
  8. android儿童模式 htc,HTC自家系统优化工具Boost+ 任何Android手机都可用
  9. 什么是javaEE、什么是JavaSE、什么是javaME?
  10. 超详细的Redis实战笔记
  11. centos7安装bbr_Centos7下,BBR修正版 一键安装与使用
  12. js:常用的3种弹出提示框(alert、confirm、prompt)
  13. 从远景论坛上学到的完美激活NERO8 NERO9的经验
  14. 如何防止别人偷窥我给宝贝儿娜娜的信
  15. 【大数据技术】实验3:熟悉常用的Hive操作
  16. 【备忘】Unity 单界面UI多个挖洞实现(shader+mask)
  17. 遍历字符串str1的所有非空子串
  18. 口语语汇单词篇(5)
  19. 制作一套适用于Oracle数据库的县及县以上行政区划数据
  20. 性能测试能力提升最终篇-全链路压测

热门文章

  1. mysql主从 备份数据库脱敏_数据库脱敏有用吗?会不会损坏重要数据?
  2. DTU和RTU的区别
  3. 条码打印工具-Bartender的使用
  4. 小米青春版路由器解锁root与SSH方法
  5. 安装thrift遇到Error: libcrypto required
  6. 空间计量经济学(2)---广义空间自回归与空间误差模型
  7. 酒桌扑克娱乐喝酒小游戏微信小程序源码下载多娱乐功能支持流量主
  8. 空间点到空间直线的距离求解
  9. BOSS直聘数据采集、解析处理、分析与可视化实战
  10. 网课题库收录API接口以及免费网课查询API接口