計算圓周率的c語言程序
Ⅰ 用c語言編寫一個求圓周率的程序
#include<stdio.h>
main()
{ float s,r,PI;
clrscr();
printf("input周長 s");
scanf("%f",&s);
printf("input半徑 r");
scanf("%f",&r);
PI=s/(2*r);
pringf("周長=%f,半徑=%f\n圓周率PI=%f",s,r,PI);
}
Ⅱ 求一個用c語言算圓周率的程序
#include <stdio.h>
long a=10000,b,c=2800,d,e,f[2801],g;
void main()
{
for(;b-c;) f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%04d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}
這個問題我問過。
能算800位,我給的網址是我問的,回答里有解釋,和能算1000位的優化演算法,很好的。
Ⅲ 怎麼用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);
}
Ⅳ 用c語言計算圓周率
#include<math.h>
main()
{
float pi=0,t=1;
int i=1;
do
{
t=1/(float)(2*i-1);
if(i%2==0) t=-t; /*printf("%d ",t);*/
pi+=t;
i++;
}while(fabs(t)>0.00001);
printf("pi=%f\n",4*pi);
getch();
}
Ⅳ 用C語言編一個計算圓周率的程序,用戶輸入指定位數,並計算到指定位數(精度不夠可以用整數)
#include "stdio.h"
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[]){
int a,b,c,d,e,f[2801],g,i,n;
char pi[801]="",t[5]="";
for(a=10000,b=0,c=2800;b-c;f[b++]=2000);//a/5
for(i=e=0;d=0,g=c*2;c-=14,e=d%a){
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
n=e+d/a,t[0]=t[1]=t[2]=t[3]='