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);