c語言求圓周率
⑴ c語言求圓周率
#include<stdio.h>
intmain()
{
floatf;
doublepi,i,sign;
while(scanf("%f",&f)==1)
{
pi=0;
i=1;
sign=1;
do
{
pi+=sign*1.0/i;
}while(1.0/i>=f&&(sign=-sign)&&(i+=2));
printf("%lf ",pi*4.0);
}
return0;
}
⑵ C語言程序設計,用級數計算圓周率π
#include<stdio.h>
intmain()
{
doublepi=2.0;
doublei=1.0;
doublea=i;
doubleb=2*i+1;
doublet=2*a/b;
while(t>=1e-100)
{
pi=pi+t;
i=i+1;
a=a*i;
b=b*(2*i+1);
t=2*a/b;
}
printf("%g ",pi);
getchar();
}
⑶ 用C語言求圓周率
#include <stdio.h>
void main(){ double pi=3.00, t=0.00, s=0.00;
int i=1, j=1;
scanf("%f", &t); //輸入精度控制值
do
{
s =4.00/((2*i)*(2*i+1)*(2*i+2));
pi+= j*s;
i ++;
j *=-1; //符號控制
}while(s >=t);
printf("%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語言:計算圓周率(精度保留到小數點後6位),用程序實現,公式如下:
#include<stdio.h>
#include<math.h>
int main()
{double pi=1,t=0;
for(;t<1.9999999;)
{t=sqrt(2+t);
pi*=2/t;
}
printf("%lf ",pi*2);
return 0;
}
⑹ C語言中圓周率π怎麼打
C語言中並不識別希臘字元π,要使用圓周率,需要自定義π的變數,並指定近似值。
可以使用宏定義的方式,當精度要求不高時,可以使用
#define PAI 3.14
或者
#define PAI 3.14159265
如果精度要求高,可以使用
#define PAI 3.14159265358979
具體定義幾位小數,由運算要求精度決定,由於π是無理數,所以不可能使用絕對精確值。
當調用的時候,直接用宏定義名PAI替代即可。比如半徑為5的圓周長為
double l = 2*PAI*5;
⑺ C語言編程求圓周率
用的是如圖的公式,下面是arctg展開的級數。
這個輸出沒有寫好,一組是10位,如果前面是「0」就會少了,要完善一下。
N是定義算多少組的,N=1000時N*10就是10000組,要算到100萬位這種演算法要好長時間,但是這是最簡單的演算法之一。
下面分成三個部分,第一是定義數組和
#defineN1000
#include"math.h"
#include"string.h"
main()
{
autodoublea1,b1,b2,c1,d,i=1.0,q=-1.0;
autodoublen,g,r=10000000000.0;
staticdoublea[N+1],b[N+1],c[N+1];
autochar*str3,str1[15],strs1[11*N],*p_strs1;
autolongp,j,k=1,m=1;
do{
printf("inputp=");
scanf("%ld",&p);
}while(p<=0&&p>100);
p=p+1;
b[1]=r*20.0,c[1]=239*r;
do
{q=-q,a1=0,b1=0,c1=0;
for(j=m;j<=p;j++){c1=c[j]+c1*r,c[j]=floor(c1/57121),c1=c1-c[j]*57121;}
if(c[m]<1e-5)m++;
for(j=k;j<=p;j++){
a1=b[j]+a1*r,b[j]=floor(a1/25.0),a1=a1-b[j]*25.0;
d=b1*r+b[j]-c[j],b1=floor(d/i),a[j]=4*q*b1+a[j];
b1=d-b1*i;
}
if(b[k]<=1e-5){
k++;
printf("k=%ld",k);}
i=i+2;
}while(m<=p);
do
{q=-q,a1=0,b1=0;
for(j=k;j<=p;j++){
a1=b[j]+a1*r,b2=floor(a1/25),b[j]=b2;
a1=a1-b2*25,d=b2+b1*r;
b1=floor(d/i),a[j]=a[j]+4*q*b1;
b1=d-b1*i;
}
if(b[k]<=1e-5){k++;printf("k=%ld",k);}
i=i+2;
}while(k<=p);
printf(" ");
for(j=p;j>=1;j--){g=a[j]+n,n=floor(g/r),a[j]=g-r*n;}
for(j=1;j<p;j++)printf("%10.0f",a[j]);
str3=strs1;
}
⑻ C語言 圓周率
因為圓面積s=pi*r^2,
所以pi=s/r^2.
點(x,y)是0~1正方形范圍內的隨機點,如果x^2+y^2<=1,則該點在單位圓內.
x^2+y^2就是r^2,即圓半徑的平方.d/N為點x,y落入單位圓內的概率,即約為圓面積.
圓的半徑為1/2,而不是1,所以pi=4*d/N.
⑼ C語言計算圓周率
#include<stdio.h>
#include<math.h>
intmain(){
doublep=0,q=0;
inti;
for(i=1;;i++){
p+=6*1.0/(i*i);
q+=4*1.0*pow(-1,i+1)/(2*i-1);//q後面少一個+
if(fabs(sqrt(p)-q)<1e-6)
break;
}
printf("PIis%lf,項數為%d",q,i);
return0;
}
⑽ 用C語言寫出計算圓周率的程序
double s = 0;//面積
double pi = 0;//圓周率
double d=200;//直徑(值越大圓周率越精確)
double r = d/2;//半徑
for(int i=1;i<=d;i++){
for(int j=1;j<=d;j++){
if((i-r)*(i-r)+(j-r)*(j-r)<=r*r){
s++;
}
}
}
pi = s/(r*r);