#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 500000000 /*假设有一个圆半径为1,所以圆面积就为PI,而包括此四分之一圆的正方形面积就 为1,因此可以生成(0,0)到(1,1)之间的任意坐标,计算坐标落在四分之一圆内的概率即可求得四分之一圆的面积,进而求得圆的面积,即PI。(N的值越大计算的PI越精确)*/ int main ( void ) { int i,sum=0; double x,y; srand ( time ( NULL ) ); for ( i=1; i<N; i++ ) { x= ( double ) rand() /RAND_MAX; y= ( double ) rand() /RAND_MAX; if ( ( x*x+y*y ) <1 ) sum++; } printf ( "PI=%f\n", ( double ) 4*sum/N ); return 0; }