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/12/20 15:34:47
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