指针型C程序设计题已知两个函数 f1(x)=xsinx 和 f2(x)=x^2+4x+1,求它们在指定区间的定积分,要求编制求解定积分的通用函数(提示:函数中可用函数型参数或函数指针型参数)
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 21:21:08
指针型C程序设计题已知两个函数 f1(x)=xsinx 和 f2(x)=x^2+4x+1,求它们在指定区间的定积分,要求编制求解定积分的通用函数(提示:函数中可用函数型参数或函数指针型参数)
指针型C程序设计题
已知两个函数 f1(x)=xsinx 和 f2(x)=x^2+4x+1,求它们在指定区间的定积分,要求编制求解定积分的通用函数(提示:函数中可用函数型参数或函数指针型参数)
指针型C程序设计题已知两个函数 f1(x)=xsinx 和 f2(x)=x^2+4x+1,求它们在指定区间的定积分,要求编制求解定积分的通用函数(提示:函数中可用函数型参数或函数指针型参数)
#include <stdio.h>
#include <math.h>
#define PI (3.141592654)
#define STEP (1e-6)
double inte(double up,double low,double (*func)(double x));
double f1(double x);
double f2(double x);
int main(void)
{
\x05printf("%lf\n",inte(-PI/2,PI/2,f1));
\x05printf("%lf\n",inte(0.0,1.0,f2));
\x05return 0;
}
double inte(double low,double up,double (*func)(double x))
{
\x05double t,sum;
\x05for(sum=0,t=low;t<up;t+=STEP)
\x05{
\x05\x05sum+=((*func)(t)+(*func)(t+STEP))/2*STEP;
\x05}
\x05return sum;
}
double f1(double x)
{
\x05return sin(x)*x;
}
double f2(double x)
{
\x05return x*x+4*x+1;
}