用c語言算圓周率的近似值,用C語言求圓周率

本文目錄一覽:

C語言編程求出圓周率的近似值。

#include stdio.h

int main()

{

    double pi;

    unsigned long i,n;

    scanf(“%lu”,n);

    for(pi=1,i=1;i=n;++i)

    {

        pi*=(i+1)/2*2.0 / ( (i+1)/2*2+(i-1)%2*2-1 );

    }

    printf(“pi=%.10lf\n”,pi*=2);

    return 0;

}

用C語言求π的近似值

循環體裏面的公式有點問題,我重新寫了一下,代碼如下:

void main()

{

double i, pi;

i=1.0,pi=0.0;

while (fabs(1.0/i) = 1e-6){

pi=(pi + pow(-1.0,i+1)/(2*i-1));

i++;

}

printf(“pi=%f\n”,pi* 4);

system(“pause”);

}

注意輸出的結果是pi*4,望採納!

c語言 根據公式求出π的近似值。

#includestdio.h

double powi(double num, int multi) {

    double r = 1.0;

    int i;

    for (i = 0; i  multi; i++) {

        r *= num;

    }

    return r;

}

double item(int n) {

    double r = 1.0;

    int i;

    /*  1.0 * 1 / 2 * 3 / 4 * 5 / 6 …..  */

    for (i = 1; i  n; i++) {

        if (i % 2) {

            r *= i;

            /*  printf(“*%d”, i); */

        } else {

            r /= i;

            /*  printf(“/%d”, i); */

        }

    }

    r *= 1;

    /*  printf(“*%d”, 1); */

    r /= n;

    /*  printf(“/%d”, n); */

    r *= powi(0.5, n);

    /*  printf(“*%lf”, powi(0.5, n)); */

    /*  printf(” — item %d: %lf \n”, n, r); */

    return r;

}

int main() {

    double pd6 = 0.0, ci = 0.0;

    int i = 1;

    do {

        ci = item(i);

        pd6 += ci;

        i += 2;

    } while (ci = 1e-6);

    printf(“PI=%.6lf\n”, pd6 * 6);

    return 0;

}

完全按你的公式做的,結果真的對了,3.141592(這裡對6位有效數字有個存疑,就是應該輸出6位還是7位數字,理論上有效數字後面應該帶上一個估值,用來修正有效數字的,如果要求真的那麼嚴格,我可以給你寫個函數用來輸出6位有效數字)。

一般級數很少有用這個複雜的式子的吧,一般都是 1-1/3+1/5-1/7+1/9-1/11 這個式子,你的公式竟然也是對的。樓上的完全沒看懂級數的項的規律。

————————————————-

以上是20:29分發的回答,既然你沒有追問,我只能通過修改這個回答,慢慢解釋一下:

powi函數 是為了不引用龐大的math庫,而自己寫的一個簡單的正整數冪的函數(math庫里有double pow(double, double),這個運算過程中不需要小數的冪值,就用循環乘法來實現了。

item函數 是每個項的計算過程,仔細看的話可能會發現,這些項並不是 i=1,2,3,4… 而是 i=1,3,5,7… 這個是為了符合級數的項中的值,都是奇數在做運算。

item裏面的那些注釋掉的 printf 是故意留下用來觀察級數表達式的。由於每一項都是多個數值相乘或除,如1/2×3/4×5/6 其實就是1 * 2 / 3 * 4 ,這些printf可以在計算每一項的時候把整個過程打印出來。

級數的難點其實就是找到項的通用表達式,你的公式已經把表達式寫的很清楚了,就看你把它提取成算法了

C語言程序設計,計算π的近似值

算法錯誤。程序思路非常混亂。n++只一次,並沒有循環,那麼一開始計算x0時n=1,以後每次計算x0的值時n都等於2。而計算公式是要對n進行累加循環的。

#include stdio.h

void main(){

double i,k=1;

for(i=1;k*(i*2*i*2/((i*2-1)*(i*2+1))-1)=1e-6;i++)

k*=i*2*i*2/((i*2-1)*(i*2+1));

printf(“PI=%.2lf”,k*2);

}

C語言編程有公式 可以計算π的近似值。求前後兩次迭代結果π 之差的絕對值小於e時相應的最小迭代次數n

代碼如下:

#includestdio.h

int main() {  

  int n = 1;

  double pi = 2.0 * 2 * 2/3; // n=1時pi的初值

  double e; // 精度

  scanf(“%lf”, e);

  while (1) {

      ++n;

      int m = 2 * n;

      double pn = pi * m / (m – 1) * m / (m + 1);

      if (pn – pi e) {

          pi = pn;

          break;

      }

      pi = pn;

  }

  printf(“n=%d, pi=%lf\n”, n, pi);

  return 0;

}

運行結果如下:

c語言編程,求π的近似值

#include stdio.h

#include math.h

int main()

{

int x,z;

float y;

y=0;

z=0;

for(x=1;fabs(1.0/x)1e-6;x+=2)

{

z=z+1;

if(z%2!=0)

{

y=y+1.0/x;

}

else

{

y=y-1.0/x;

}

}

y=y*4;

printf(“π=%10.6f\n”,y);

return 0;

}

原創文章,作者:CXPJ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/135887.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CXPJ的頭像CXPJ
上一篇 2024-10-04 00:15
下一篇 2024-10-04 00:15

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python利用級數計算圓周率

    本文將詳細介紹Python利用級數計算圓周率的方法,旨在幫助Python開發者更好地理解級數原理。 一、Leibniz公式計算圓周率 Leibniz公式是一種基於級數的求圓周率的方…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論