一个学妹问的一道c语言题目

标题单位圆的面积为π,因此可以通过求单位圆面积的近似值来求π的近似值。考虑将单位圆沿x轴分成n份,从而求得n个梯形的面积和作为单位圆的一个近似值;
再将单位圆分成2n份,从而求得2n个梯形的面积和作为单位圆的另一近似值。此过程可以一直持续下去,将单位圆分成4n份、8n份等等,当二次求得的近似值很接近时,可认为得到单位圆面积较精确的近似值。将下列程序补充完整,利用上述方法求π的近似值

#include <math.h>
#include <iostream>
using namespace std;
int main(){
const  double epsilon = 1E-4;//这里我特意将极限写成负四次方,不然执行时间太长
int n  = 2;
double dist_s = 1.0;//默认1
double pi = 0.0;
for (n; epsilon < dist_s; n ++ )
{   double x1 = 2.0/n;//高cout << "x1 = " << x1 << endl;double x2 = 2.0/(2*n);//高cout << fixed<<"x2 = " << x2 << endl;double s1 = 0.0;//x/n高度梯形的面积double s2 = 0.0;//x/2n高度梯形的面积cout << "n = " << n << endl;for (double i = -1;i < 1;i = i + x1){double h1 = 2*sqrt(1-pow(i,2));//上底double h2 = 2*sqrt(1-pow(i + x1,2));//下底s1 += (h1+h2)*x1/2.0;}cout << "s1 = " << s1 << endl;for (double i = -1;i < 1;i = i + x2){double h1 = 2*sqrt(1-pow(i,2));//上底double h2 = 2*sqrt(1-pow(i + x2,2));//下底s2 += (h1+h2)*x2/2.0;}cout << "s2 = " << s2 << endl;dist_s = fabs(s1 - s2);cout <<"dist =" << dist_s << endl;
}
cout << "pi = " << dist_s << endl;
}

codeblock中运行

单位圆的面积为π,因此可以通过求单位圆面积的近似值来求π的近似值相关推荐

  1. python用海伦公式求面积_用带参数的宏定义,通过海伦公式求三角形的面积

    要求: 海伦公式: ,其中 ,a,b,c为三角形的三个边.定义两个带参数的宏,一个用来求p,另一个用来求s 题目分析: 首先,题目要求是通过输入三角形的三条边,输出三角形的面积.因为不是任意的三条边都 ...

  2. C语言用矩形法求定积分的通用函数,分别求 sinx, cosx,e^x

    要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知道化曲为直的思想.将定积分化为多个函数连续的和.基本思想是将区间[a,b]化成 ...

  3. 利用计算机求锐角三角函数值,利用计算器求三角函数值.doc

    全品中考网 z 全品中考网 010 全品中考网邮箱:canpointzk@188.com 第 PAGE 3 页 共 NUMPAGES 3 页 28.1锐角三角函数教案四--利用计算器求三角函数值 教学 ...

  4. python函数编程求三个数的最小公倍数_Python求三个数的最小公倍数

    题目 求三个数的最小公倍数 思路 首先求两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数就是最终结果 有两种方案求两个数的最小公倍数 1. 分解质因数,也是短除法(在程序上差别不大) 循环 ...

  5. python练习题(python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数” 等)

    实验环境:python2.7 题目1:python之"求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数" 程序: import math def factorial(n): ...

  6. tensorflow with求导_3.4tensorflow2.x自动求导原理函数详解

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取: 1.1  tensorflow2.x自动求导 1.1.1         自动求导GradientTape类 GradientT ...

  7. 嵌入式 ARM 汇编编程例题(二维数组按规律求和,求两数 gcd / lcm,求数组 min / max,字符串复制,排序)

    文章目录 0x00. 整数加减乘除 0x01. 一维数组按某种规律求和 0x01.1 求 1~100 之和 0x01.2. 求一维数组的和 0x01.2. 求一维数组的所有奇数的和 0x02. 二维数 ...

  8. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

  9. 扩展欧几里得算法求逆元_从辗转相除法到求逆元,数论算法初体验

    今天是算法和数据结构专题的第22篇文章,我们一起来聊聊辗转相除法. 辗转相除法又名欧几里得算法,是求最大公约数的一种算法,英文缩写是gcd.所以如果你在大牛的代码或者是书上看到gcd,要注意,这不是某 ...

  10. python求50的阶乘_python中求阶乘

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 写一个猜数字的游戏,预先设定 ...

最新文章

  1. 使用SSH和Nginx做内网HTTP映射
  2. eclipse 的快捷键
  3. CentOS下php安装mcrypt扩展
  4. ssh密钥分发与ansible
  5. vsftpd配置文件丢失
  6. 怎样对ListView的项进行排序
  7. 使用tensorflow object_detection API完成目标检测(object_detection API使用)
  8. 从12306网站新验证码看Web验证码设计与破解
  9. java计算机毕业设计服装连锁店后台管理系统MyBatis+系统+LW文档+源码+调试部署
  10. 【怀念】清明遥祭外婆
  11. 解决方案:ubuntu14.04安装后无法引导win7;Realtek-RTL8723BE无线网卡驱动的安装
  12. 好佳居软装十大品牌 软装可以提升格调
  13. mac外接键盘HOME,END键问题
  14. 【Python】PyCharm热加载,调试时,修改运行时代码无需重新启动程序即可更新所做的修改
  15. Invalid bound statement (not found): com.xx.dao.TypeMapper.selectAll
  16. linux usb 驱动总线(三)
  17. 【人工智能】关于人类大脑模型的一些数学公式
  18. 2017-12-9框架
  19. C89 和 C99 标准比较
  20. gitee码云的使用

热门文章

  1. QQ会员注册完整代码
  2. 在中国,考不上高中的孩子去哪儿了
  3. 解决Android Studio无法安装HAXM问题(特点:AMD CPU、Windows10家庭中文版系统)
  4. 电脑太卡,重置电脑会解决问题吗
  5. 格拉姆角场GAF将时序数据转换为图像并应用于故障诊断
  6. 如何初始搭建vue2.x项目(vue3.x请走开)
  7. 去掉鼠标右键文件时的“百度一下这个文件”菜单命令
  8. 图灵奖得主、《龙书》作者最新力作:抽象、算法与编译器
  9. 中国移动短信网关错误代码汇总(完整版)
  10. Java实现新浪微博第三方登录