c語言計算pi
『壹』 C語言編程計算出π的值 最好有三種方法!! 急求 好人一生平安啊
我只說說π是怎麼近似計算出來的,大一應該學過高數,可以知道:tan π/ 4 =1,從而π=4*arctan1,應用泰勒公式將arctan(x)展開,就可以得到
把這展開式展開,直到最後一項的絕對值小於1e-6為止。
下面是C語言遞歸實現:
#include<stdio.h>
#include<math.h>
void main()
{
float fuc(int n);
float s,pi;
for(int i=1;i<10000;i++)
{s=1.0/(2*i-1);
if(s<1e-6)
break;}
pi=fuc(i);
pi=pi*4;
printf ("pi=%10.6f ",pi);
}
float fuc(int n)
{
float pi;
if(n==1) pi=1;
else if(n%2==0)
pi=fuc(n-1)+(-1.0)/(2*n-1);
else pi=f(n-1)+1.0/(2*n-1);
return(pi);
}
程序運行結果pi=3.141498.
希望能明白明白π的實現原理,增進你的理解。
『貳』 C語言中圓周率π怎麼打
C語言中並不識別希臘字元π,要使用圓周率,需要自定義π的變數,並指定近似值。
可以使用宏定義的方式,當精度要求不高時,可以使用
#define PAI 3.14
或者
#define PAI 3.14159265
如果精度要求高,可以使用
#define PAI 3.14159265358979
具體定義幾位小數,由運算要求精度決定,由於π是無理數,所以不可能使用絕對精確值。
當調用的時候,直接用宏定義名PAI替代即可。比如半徑為5的圓周長為
double l = 2*PAI*5;
『叄』 C語言計算pi
在0到1之間取兩個隨機數,如果這兩個隨機數(x,y)在四分之一圓內,就加一。
最後用落在圓內的點數,除以總點數,就是PI了。
#include
<stdio.h>
#include
<conio.h>
#include
<stdlib.h>
#include
<time.h>
#define
N
300000
main()
{
long
i,n=0;
float
x,y,pi;
srand(time(NULL));
for
(i=0;i<N;i++)
{
x=1.0*rand()/RAND_MAX;
y=1.0*rand()/RAND_MAX;
if
(x*x+y*y<1)
n++;
}
pi=4.0*n/N;
printf("pi=%f
",pi);
}
『肆』 用C語言編程計算π的值
#include<stdio.h>
#include<math.h>//開根號我用了數學庫函數
int main()
{
double Pi=2,x=0,t;//我把第一項2作為Pi的初始值
while(1)
{
x=sqrt(x+2);//x是分母
t=2/x;//t是現在要乘的數
Pi=Pi*t;
if(t-1<1e-14) break;//因為t一定大於1,就這么寫了;精確到小數點後14位
}
printf("%.14lf\n",Pi);//小數點後14位
return 0;
}