⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 利用蒙特卡罗技术编出的c程序能够精确的计算圆周率
💻 TXT
字号:
#include"stdio.h"         
#include"time.h"
#include"stdlib.h"
#include"graphics.h"
main()
{int gd=DETECT,gm=0;
 long m=0,n=0,i;
 double xi,yi,y,y1;
 initgraph(&gd,&gm,"");          /*设置图形显示模式*/
 setbkcolor(BLUE);
/*-----------画坐标、正方形和圆----------------*/
 line(200,50,200,400);line(200,50,205,60); line(200,50,195,60);
 line(50,200,400,200);line(400,200,390,195); line(400,200,390,205);
 rectangle(100,100,300,300);
 circle(200,200,100);
/*--------------------------------------------*/
/*----------用时间作为产生随机数的种子--------*/
 srand((unsigned)time(NULL));
   for(i=0;i<1000000;i++)             /*设置产生随机数的个数,这里为一百万次*/
/*-----------------产生-1到1之间的随机数xi和yi-------------------*/ 
    {xi=(rand()%(1000-0+1)+0)/500.0-1.0;
      yi=(rand()%(1000-0+1)+0)/500.0-1.0;
      putpixel((int)(xi*100+200),(int)(yi*100+200),(int)RED);          /*在正方形区域内画点*/
      /*printf("xi=%f,yi=%f\n",xi,yi);*/
      if(yi*yi>=(-(1-xi*xi))&&yi*yi<=1-xi*xi)                   /*判断是否在圆内并计数*/                        
       m++,n++;
  else m++;
     }
y=4.0*n/m;                                            /*计算PI值*/
/*outtextxg(100,100,"PI=");*/
printf("\n\tPI=%f\n",y);
getch();
closegraph();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -