作业帮 > 综合 > 作业

C语言程序:用蒙特卡罗法计算直径为1的圆面积.

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 01:17:25
C语言程序:用蒙特卡罗法计算直径为1的圆面积.
#include
#include
#include
#include
main(){
\x05int n,i=1,k=1;
float x,y;
\x05srand(time(0));
\x05printf("Input n=");
\x05scanf("%d",&n);
\x05while(i
C语言程序:用蒙特卡罗法计算直径为1的圆面积.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
main(){
    int n,i=1,k=1;
    float x,y;
    srand(time(0));
    printf("Input n=");
    scanf("%d",&n);
    while(i<=n){
        x=rand()%32767/32767.0;
        y=rand()%32767/32767.0;
        if(x*x+y*y<=0.25)
            k++;
          i++;
    }
    printf("S=%d/%d=%f\n",k,n,1.0*k/n*4);
    getch();
}
 你的随机x,y都是整数
但是你的圆是一个包含4个象限的,你只计算了第一象限

还有x=rand()/32767.0;这个有问题,x可能大于1
再问: 是啊是啊!!!!!!!!!!!!!!!!!!太棒了!!!!
再答: 采纳吧!