求派的值c語言
㈠ C語言的求π的值
#include <stdio.h>
#include <math.h>
int main(){
double pi=0,result;
int i=1;
int s=-1;
do{
s*=-1;
result=1.0/i*s;
i+=2;
pi+=result;
}while(fabs(result)>余拍薯0.000001);
printf("豎者pi=%10.4lf "賀羨,pi*4);
return 0;
}
㈡ C語言編程用公式法求π,應該怎麼做
給你提個思路:
在這個公式中有幾個關鍵點:
每一項中有一個規律變化數字1,3,5,7,後面應該是9,11........;可以用i=1; i+=2;來表示。
每一項中都有規律變化分數相乘1/2 × 3/4 ×......這個乘法的截止方法為分母<i。
可以根據以上方法列出計算循環代碼,最後一項小於10-6為跳出循環條件;
㈢ 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語言編程計算出π的值
一個足以讓你吐血的計算400位pi的C程序:
int a=10000, b, c=2800, d, e, f[2801], g;
main() {
for(; b-c; f[b++]=a/5);
for(; d=0,g=c*2; c -=14,printf("%.4d",e+d/a),e=d%a)
for(b=c; d+=f[b]*a,f[b]=d%--g,d/=g--,--b; d*=b);
}
理論上只要用大數演算法擴了就能一直算下去。我在Palm上面實現的那個就是基於這個演算法,沒有擴,算到4680位(受到Palm平台32k數組的長度限制)。
這個程序的特點是:你抱著想看看算pi原理的希望來讀這個程序,結果發現就是看了也還是看不懂~~
轉的,但是網路知道不允許貼地址哦
第二種:
用C語言編程π*π/6=1/1*1+1/2*2+1/3*3+。。。+1/n*n
#include<stdio.h>
#include<math.h>
main()
{
int n,i;
double s=0;
printf("輸入n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{s=s+1.0/(i*i);
}
printf("pai=%f",sqrt(s*6));
}
第三種:
求pi=(1+1/(1*3))*(1+1/(3*5))*(1+1/(5*7))…………直到最後一項的分數小於10的負6次方為止。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
double pi,i,j,sigh,term;
i=1,j=3,sigh=1,term=1;
while(sigh>1e-6)
{
sigh=1/(i*j);
term=(1+sigh)*term;
i=i+2;
j=j+2;
}
pi=term;
printf("pi=%f\n",pi);
}