利用公式求圆周率的值c语言(基础编程由此开始(第十三节))

首页常识更新时间:2023-05-18 05:44:50

圆周率,大家都不陌生吧,也就是“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的阶乘与所有奇数的乘积,相对来说也是比较简单的,就是用数值本身去乘以相应的公式即可。

结果测试

总结

总的来说,这道题目并没有想象中的那么难,关键还是题目的逻辑要盘清楚,否则就会像我最开始做题时犯的错误一样,容易出现问题。

,
展开阅读全文
推荐内容
热门内容
热门文章

© 2007-2022 http://www.anhuiqq.cn,All Rights Reserved.