C语言计算pi

Python015

C语言计算pi,第1张

#include<stdio.h>

#include<math.h>

void main()

{

int sign=1// 符号变量 因为要正1-3/1 所以 在进行第一步运算的时候正1-某某

int i=1//  此时的i 也可以等于count 用来存储运算次数 建议用count 我在这里就不改了

double pi=0.0// 我们要求的结果 pi

double n=1.0//  我们的分母

double trem=1.0// 我们的分式本身

while(fabs(trem)>=1e-6) //题干要求的条件表达式

{

pi+=trem   //累加式pi=pi+trem

n+=2       // 分母每次加2

sign=-sign// 用来控制符号在这里同时也是充当分子的作用

trem=sign/n//分式本身=分子/分母

i++ // 每次运算完一遍+1

}

pi*=4// 这里也是根据题干来的 就相当于 1/2 *2 =1

}

望采纳谢谢 有什么不懂的可以随时追我

一个足以让你吐血的计算400位pi的C程序:

int a=10000, b, c=2800, d, e, f[2801], g

main() {

for(b-cf[b++]=a/5)

for(d=0,g=c*2c -=14,printf("%.4d",e+d/a),e=d%a)

for(b=cd+=f[b]*a,f[b]=d%--g,d/=g--,--bd*=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=1i<=ni++)

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

}