c语言圆周率计算法(用C语言实现计算圆周率)
圆周率,大家都不陌生吧,也就是“Pi”,用符号π来表示,一般就是数字3.14159265...,今天小编就来聊一聊关于c语言圆周率计算法?接下来我们就一起去研究一下吧!
c语言圆周率计算法
圆周率,大家都不陌生吧,也就是“Pi”,用符号π来表示,一般就是数字3.14159265...
那这道编程题呢,相对于之前学过的编程题目而言,难度有所提升。
主要目的就是如文章标题写的那样,要计算圆周率。
没错,圆周率是可以计算出来的。
打出公式比较复杂,我直接把题目给贴上来好了。
梳理逻辑这道题目的要求是什么,是输入小于1的阈值,然后在一行中输出满足阈值条件的近似圆周率,输出小数点后6位,而近似圆周率满足公式中的最后一项的值要小于给定的阈值。
比方说给定阈值0.01,那么计算圆周率的最后一项如果小于0.01,就到此为止,然后把该圆周率的值给打印出来。
1、输入小于1的阈值,那显然是要用到float浮点型来表示输入阈值的数据类型了。
2、关键难度在于如何得到最后一项,以及如何得到pi的值。
我们可以仔细观察,最后一项其实是由n的阶乘去除以所有奇数的乘积。
n的阶乘我之前讲过,就是从第一个数开始乘起乘到最后一个数。
而所有奇数的乘积也相对简单,就是从第一个奇数开始乘起乘到最后一个奇数。
3、保留小数点后六位,那就是要用到%0.6f来表示了。
代码实现
//计算圆周率
#include<stdio.h>
int main(){
float n;
float m=1;//n!
float q=1;
float pi=1;
float w=0;
scanf("%f", &n);//阈值
int i = 1;
for(w = 1; w >= n;i ){
q = q*(2*i 1);
m = m*i;
w = m/q;
pi = pi w;
}
printf("%0.6f",2*pi);
}
可以发现,这里只需要用到一个for循环即可,至于求n的阶乘与所有奇数的乘积,相对来说也是比较简单的,就是用数值本身去乘以相应的公式即可。
结果测试总结总的来说,这道题目并没有想象中的那么难,关键还是题目的逻辑要盘清楚,否则就会像我最开始做题时犯的错误一样,容易出现问题。
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com