求指数曲线y=e^x在[0,1]区间内与x轴构成的面积的近似值。代码如下,求得的面积为0.00000000。检查了半天,没看出什么毛病,请大侠们帮忙看下。
//求指数曲线y=e^x在[0,1]区间内与x轴构成的面积的近似值。代码如下,求得的面积为0.00000000。检查了半天,没看出什么毛病,请大侠们帮忙看下。#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define DIANSHU 10000 //布置点数
#define e 2.7182818284 //自然常数e
void tgzzs ( void ) ; //提供种子数的函数
int main ( void )
{
int dianshu = 0 ;
int N = 0 ; //函数曲线与X轴之间的点数
tgzzs () ;
for ( ; dianshu <= DIANSHU ; dianshu ++ )
{
double x , y ;
x = ( double ) rand () / ( double ) RAND_MAX ;
y = ( double ) rand () / ( double ) RAND_MAX * e ;
if ( y < pow ( e , x ) )
{
N ++ ;
}
}
printf ( "指数曲线y=e^x在[0,1]区间内与x轴构成的面积的近似值是%0.8lf", N/DIANSHU*(pow(e,1)*1) ) ;
system ("pause") ;
return 0 ;
}
void tgzzs ()
{
srand ( (unsigned int) time (NULL) ) ;
}