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 ...