C语言程序:用蒙特卡罗法计算直径为1的圆面积.#include#include#include#includemain(){\x05int n,i=1,k=1;float x,y;\x05srand(time(0));\x05printf("Input n=");\x05scanf("%d",&n);\x05while(i

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/12 20:31:17
C语言程序:用蒙特卡罗法计算直径为1的圆面积.#include#include#include#includemain(){\x05intn,i=1,k=1;floatx,y;\x05srand(ti

C语言程序:用蒙特卡罗法计算直径为1的圆面积.#include#include#include#includemain(){\x05int n,i=1,k=1;float x,y;\x05srand(time(0));\x05printf("Input n=");\x05scanf("%d",&n);\x05while(i
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#include#include#includemain(){\x05int n,i=1,k=1;float x,y;\x05srand(time(0));\x05printf("Input n=");\x05scanf("%d",&n);\x05while(i
#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