f1=1+x^2
float f1(float x)
{
return 1+x*x;
}
float Integralf1(float a,float b)
{
float s,h;
int n = 100,i;
s = ( f1(a) + f1(b) )/2;
h= ( b-a ) / n;
for( i=1;i<n;i++ )
{
s + = f1(a+i*h);
}
return s * h;
}
y1=Integralf1(0.0,1.0);
用上指针,通用计算函数的定积分。
float f1(float x)
{
return 1+x*x;
}
float f2(float x)
{
return x/(1+x*x);
}
float Integralf1(float a,float b,float (*p)(float))
{
float s,h;
int n = 100,i;
s = ( (*p)(a) + (*p)(b) )/2;
h= ( b-a ) / n;
for( i=1;i<n;i++ )
{
s + = (*p)(a+i*h);
}
return s * h;
}
y1=Integralf1(0.0,1.0,f1);
y2=Integralf1(0.0,3.0,f2);