#include<stdio.h>
#include<math.h>
double calc(double(*funp)(double),double a,double b);
double f1(double x),f2(double x);
int main()
{
double result;
double(*funp)(double);
result=calc(f1,0.0,1.0);
printf("1:result=%.4f\n",result);
funp=f2;
result=calc(funp,1.0,2.0);
printf("2:result=%.4f\n",result);
return 0;
}
double calc(double(*funp)(double),double a,double b)
{
double z;
z=(b-a)/2*((*funp)(a)+(*funp)(b));
return (z);
}
double f1(double x)
{
return(x*x);
}
double f2(double x)
{
return(sin(x)/x);
}
/*计算数值积分(函数指针作为函数参数示例*/
最新推荐文章于 2021-12-03 16:22:21 发布
该程序演示了如何利用函数指针计算数学函数的平均值。它定义了一个通用的`calc`函数,该函数接受一个双精度浮点型的函数指针,以及两个边界值,然后计算在给定区间内函数值的平均值。示例中分别计算了平方函数`f1`和正弦函数`f2`在不同区间的平均值。
1656





