日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

c語言實現計算圓周率的近似值_C 語言

作者:折騰的小飛 ? 更新時間: 2023-01-01 編程語言

c語言計算圓周率的近似值

用公式π/4=1-1/3+1/5-1/7+1/9-…,求圓周率π的近似值,直到上述級數最后一項的絕對值小于10^(?4) 為止

#include<stdio.h>
int main(void)
{
	float pi=0,t=1.0,n=1.0;
	while(1/n>=1e-4)//精度可以縮小,但計算時間會增加
					//建議不小于1e-6
	{
		pi=pi+t*1.0/n;
		//第一次循環:pi=0,pi=-1;
		//t=-1;
		//第二次循環:pi=1-1/3;
		//t=1;
		//第三次循環:pi=1-1/3+1/5;
		//t=-1;
		//第n次循環:。。。 
		t=-1*t;
		n+=2;
	}
	pi=pi*4;
	printf("n=%f,pi=%f\n",n,pi);
} 

用C語言解“計算圓周率”題

根據下面關系式,求圓周率的值,直到最后一項的值小于給定閾值。

??π/2=1 + 1 / 3 + 2! / (?3×5) + 3! / (3×5×7) +?+ n! / (3×5×7×?×(2n+1)) +?

輸入格式:

輸入在一行中給出小于1的閾值。

輸出格式:

在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點后6位。

輸入樣例:

0.01

輸出樣例:

3.132157

思路

本題看起來很難,其實并不是太難,只需將分子分母分開計算,得出結果后在相除即可得出原本的分數值,進而再相加在加1則可算出π/2,在將結果除于2即可得出π的近似值

代碼

#include <stdio.h>
int main()
{
    double a;
    scanf("%lf",&a);
    int i = 1;
    double fen_zi=1, fen_mu=1;
    double jie_guo=1, sum=0, s=0;
    while(a < jie_guo){
        fen_zi *= i;
        fen_mu *= (2*i+1);
        jie_guo = fen_zi / fen_mu;
        sum += jie_guo;
        i += 1;
    }
    s = (sum+1)*2;
    printf("%.6f",s);
    return 0;
}

總結

原文鏈接:https://blog.csdn.net/qq_41666142/article/details/105226282

欄目分類
最近更新