这段程序是根据这个求圆周率的公式得来的:

π/2=2/1·2/3·4/3·4/5·6/5·6/7·8/7·8/9···

代码如下:

 
  
  1. #include <stdio.h>  
  2.   
  3. int main(int argc,char *argv[]) 
  4.     double eps; 
  5.     double proc(double eps); 
  6.   
  7.     printf("Please enter the accuracy:"); 
  8.     scanf("%lf",&eps); 
  9.   
  10.     printf("Pi = %lf",proc(eps)); 
  11.   
  12.     return 0; 
  13.   
  14. double proc(double eps) 
  15.     double s=0.0,t=1; 
  16.     int n=1; 
  17.     while(t>=eps) 
  18.     { 
  19.         s+=t; 
  20.         t=t*n/(2*n+1); 
  21.         n++; 
  22.     } 
  23.     return (2*s); 

 一旦eps超出了0.0000001,计算出的π最大为3.141593

尝试修改第11行的代码:

 
  
  1. printf("Pi = %.16f",proc(eps)); 

可以得到的π=3.1415926535897922