
正文
函数pI的C语言程序能 c语言常用函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
计算Pi值,用C语言,程序
楼主这个方法应当用随机数来做。
思想:
在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;iN;i++)
{
x=1.0*rand()/RAND_MAX;
y=1.0*rand()/RAND_MAX;
if
(x*x+y*y1)
n++;
}
pi=4.0*n/N;
printf("pi=%f\n",pi);
getch();
}
相关问答
Q1: 用C语言编个程序,求π(派)
利用“正多边形逼近”的方法求出π的近似值
*程序说明与注释
#includestdio.h
#includemath.h
int main()
{
double e=0.1,b=0.5,c,d;
long int i; /*i: 正多边形边数*/
for(i=6;;i*=2) /*正多边形边数加倍*/
{
d=1.0-sqrt(1.0-b*b); /*计算圆内接正多边形的边长*/
b=0.5*sqrt(b*b+d*d);
if(2*i*b-i*e1e-15) break; /*精度达1e-15则停止计算*/
e=b; /*保存本次正多边形的边长作为下一次精度控制的依据*/
}
printf("pai=%.15lf\n",2*i*b); /*输出π值和正多边形的边数*/
printf("The number of edges of required polygon:%ld\n",i);
}
*问题分析与算法设计
利用“正多边形逼近”的方法求出π值在很早以前就存在,我们的先人祖冲之就是用这种方法在世界上第一个得到精确度达小数点后第6位的π值的。
利用圆内接正六边形边长等于半径的特点将边数翻番,作出正十二边形,求出边长,重复这一过程,就可获得所需精度的π的近似值。
假设单位圆内接多边形的边长为2b,边数为i,则边数加倍后新的正多边形的边长为:
x=√——————
2-2*√———
1-b*b
——————
2
周长为:
y=2 * i * x i:为加倍前的正多边形的边数
Q2: 那个计算π的C语言程序是怎么写的啊?
1、PI 的值可以通过以下公式计算出来,
π/4=1-1/3+1/5-1/7……
编写循环程序,当这种计算方法所得到的偏差小于0.000001时停止计算,并输出PI的值及所需要计算的项数。
2、例程:
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);
Q3: 怎么用C语言编程计算出π的值?
一个足以让函数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);
}
理论上只要用大数算法扩了就能一直算下去。函数pI的C语言程序能我在Palm上面实现的那个就是基于这个算法,没有扩,算到4680位(受到Palm平台32k数组的长度限制)。
这个程序的特点是:你抱着想看看算pi原理的希望来读这个程序,结果发现就是看了也还是看不懂~~
转的,但是百度知道不允许贴地址哦
第二种:
用C语言编程π*π/6=1/1*1+1/2*2+1/3*3+。。。+1/n*n
#includestdio.h
#includemath.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次方为止。
#includestdio.h
#includemath.h
#includestdlib.h
void main()
{
double pi,i,j,sigh,term;
i=1,j=3,sigh=1,term=1;
while(sigh1e-6)
{
sigh=1/(i*j);
term=(1+sigh)*term;
i=i+2;
j=j+2;
}
pi=term;
printf("pi=%f\n",pi);
}
Q4: 用C语言编程计算π的值
#includestdio.h
#includemath.h//开根号我用函数pI的C语言程序能了数学库函数
int main()
{
double Pi=2,x=0,t;//我把第一项2作为Pi函数pI的C语言程序能的初始值
while(1)
{
x=sqrt(x+2);//x是分母
t=2/x;//t是现在要乘的数
Pi=Pi*t;
if(t-11e-14) break;//因为t一定大于1函数pI的C语言程序能,就这么写了函数pI的C语言程序能;精确到小数点后14位
}
printf("%.14lf\n",Pi);//小数点后14位
return 0;
}
关于函数pI的C语言程序能和c语言常用函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






