1、C 语言求定积分的通用函数对于一重定积分来说其求解可以使用梯形法进行求解,计算公式如下所示:()= x=()其中,f(x)为被积函数, 为横坐标的两点间的间隔, 越小,则计算出 的结果越精确。对于求解此类问题可以使用 C 语言中的回调函数编写通用的计算函数,代码如下:#include #include #include/功能:返回 f(x)在积分区间a,b 的值/参数:FunCallBack 指向用于计算 f(x)的函数/ a 积分区间的起始值/ b 积分区间的结束值/ dx 横坐标的间隔数,越小计算结果越准确double Calculate(double (*FunCallBack)(dou
2、ble x),double a,double b,double dx)double doui;double total = 0; /保存最后的计算结果for (doui = a; doui = b; doui += dx)total += FunCallBack(doui)*dx;return total;double f2(double x)return x*x;double f(double x)return x;double f3(double x)return x*x*x ;int main()double total;total = (Calculate(f, 2, 3, 0.000001);printf(“total = %lfn“, total);total = (Calculate(f2, 2, 3, 0.000001);printf(“total = %lfn“, total);total = (Calculate(f3, 2, 3, 0.000001);printf(“total = %lfn“, total);return 0 ;其中,函数 f,f2,f3 为自行编写的关于 x 的被积函数。运行结果:total = 2.500000total = 6.333331total = 16.249991