首页
/
每日頭條
/
科技
/
c語言圓周率計算法
c語言圓周率計算法
更新时间:2024-11-16 02:04:10

c語言圓周率計算法?圓周率,大家都不陌生吧,也就是“Pi”,用符号π來表示,一般就是數字3.14159265...,今天小編就來聊一聊關于c語言圓周率計算法?接下來我們就一起去研究一下吧!

c語言圓周率計算法(用C語言實現計算圓周率)1

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的階乘與所有奇數的乘積,相對來說也是比較簡單的,就是用數值本身去乘以相應的公式即可。

結果測試總結

總的來說,這道題目并沒有想象中的那麼難,關鍵還是題目的邏輯要盤清楚,否則就會像我最開始做題時犯的錯誤一樣,容易出現問題。

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved