1.随机投点法近似计算积分A=∫_0^1▒e^(〖-x〗^2 ) dx

来源:百度知道 编辑:UC知道 时间:2024/05/14 16:25:51

#include<stdio.h>
#include <stdlib.h>
#include<time.h>
#include<math.h>
int main()
{
int i;
float N=0;
float p;
double a[1001][2];
srand(1);
for(i=0;i<1000;i++)
{
a[i][0]=(rand()%100);
a[i][0]=a[i][0]/(double)100;
}
srand(2);
for(i=0;i<1000;i++)
{
a[i][1]=(rand()%100);
a[i][1]=a[i][1]/(double)100;
}
for(i=0;i<1000;i++)
if(a[i][1]<exp(-pow(a[i][0],2)))
N++;
p=N/(float)1000;
printf("%f",p);
//for(i=0;i<1000;i++)
//printf("%lf,%lf\n",exp(-pow(a[i][0],2)),a[i][1]);
return 0;
}
用C语言作的程序,不太准,结果为
0.775