那個計算的c語言程式是怎麼寫的翱

2022-02-14 17:41:52 字數 2879 閱讀 8766

1樓:匿名使用者

1、pi  的值可以通過以下公式計算出來,π/4=1-1/3+1/5-1/7……

編寫迴圈程式,當這種計算方法所得到的偏差小於0.000001時停止計算,並輸出pi的值及所需要計算的項數。

2、例程:

double s = 0;//面積

double pi = 0;//圓周率

double d=200;//直徑(值越大圓周率越精確)double r = d/2;//半徑

for(int i=1;i<=d;i++)}}pi = s/(r*r);

用c語言程式設計計算π的值

2樓:冰弦

#include

#include//開根號我用了數學庫函式int main()

printf("%.14lf\n",pi);//小數點後14位return 0;}

3樓:匿名使用者

沒看明白,不過這個形式不是可以用遞迴去寫的麼

c語言中π怎麼表示

4樓:四舍**入

標準的c語言中沒有π這個符號及常量,一般在開發過程中是通過開發人員自己定義這個常量的,最常見的方式是使用巨集定義:

#define pi 3.141592

也可以直接普通變數定義,如:

double pi = 3.141592;

5樓:匿名使用者

可以負責任的告訴你,c99標準裡沒提這事,但大部分實現裡(vs和gcc)有這個巨集定義形式為

#define m_pi 3.14159265358979323846 /*雙精度*/

所以你可以再用到π  的地方寫m_pi(記得包含標頭檔案math.h),或者自己定義巨集實現,如

#define pi 3.14159265358979323846

6樓:匿名使用者

pai=3.1415926;

超過float的儲存範圍,改成pai=3.141592;

或者定義為double型

7樓:匿名使用者

c語言中在函式庫中已定義了pi

#include "math.h"

m_pi pi //!!!!!!!!!!!!!!!!!這就是pi常數 m_pi

m_pi_2 one-half pim_pi_4 one-fourth pim_1_pi one divided by pim_2_pi two divided by pim_1_sqrtpi one divided by the square root of pi

m_2_sqrtpi two divided by the square root of pi

8樓:匿名使用者

標頭檔案math.h中巨集定義的是m_pi

#define m_pi 3.14159265358979323846

也就是說你要用m_pi 或者自己重新定義#define pi 3.1415926

9樓:匿名使用者

#define pi 3.1415926

10樓:匿名使用者

#define pi 3.1415926

c語言程式設計,計算π的近似值

11樓:匿名使用者

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

#include

void main()

12樓:寒寒家

fabs=(1/(i+i+2)); 這裡應該是*號

另外這裡涉及到整形數字,最好還是把其中所有的1,2都寫成1.0, 2.0

13樓:匿名使用者

int n=1, t=2 應該改為float n=1, t=2。整型時t-(4*n*n)/(4*n*n-1)的結果為整形。

14樓:

#include

#include

int main()

sum=sum*4;

printf("%10.8f\n",sum);

system("pause");

return 0;

}輸出結果為:3.14159369

15樓:匿名使用者

樓主你好!

錯誤一:while(t-(4*n*n)/(4*n*n-1))>=1e-6)裡面少了一個左括號;

錯誤二:主要你是float和int混合在一起計算,特別你到了t-(4*n*n)/(4*n*n-1)和 t=(4*n*n)/(4*n*n-1);這兩步,相當有問題,結果並不是你想象那樣是個帶6位的小數,而是得到整數!第一次n=1時候;t-(4*n*n)/(4*n*n-1)=1條件成立,所以進入迴圈,a=2.

000000,當t=(4*n*n)/(4*n*n-1),計算後t為1,,n++為2;第二次到t-(4*n*n)/(4*n*n-1)=0,條件不成立,跳出迴圈,所以為什麼a為2.000000原因!

下面是我改了的!

#include

int main()

printf("%f ",a);

}結果為3.131604

算是接近π吧,偏差的原因,我估計是float精確到小數後六位,上面的多次迴圈,導致最後偏差有點大,我是這樣想的!

求大家指正!

16樓:篤俠

sum=sum+d/i;

改為sum=sum+1.0*d/i;試試。

c語言,這個程式是怎麼執行的?結果怎麼計算的

這個程式應該有輸入的 第一次 index 0 index 4 為0 index 1 count index count 2 index 2 這裡 制沒有break 繼續執行 count index count 2 2 4 第一次迴圈結束 index index 3 第二次 index 4 為3 in...

幫幫c語言程式填空的,幫幫,C語言程式填空的

include stdio.h define n 10 void main x,i,p printf 請輸入x的值 scanf d x for i 0,p n i賦值 給i 直接結束這個迴圈,也可以用break 跳出迴圈 for i n 1 i p i 自減版程式a i 1 a i a p x 將x...

怎樣編求n 的程式,用C語言編寫程式 計算n!

在vc 下面,int和long長度一樣,都是32位的,double雖然是64位的,但是當作整型使用的話長度並不比int長,所以這裡還是使用int。int factorial int n 樓上的最多算到20!就該嗝屁了 正確的階層至少能處理20000!這點要靠大數乘法來做的 long f int n ...