数值积分(函数指针的运用) 清疚 2022-06-17 12:50 154阅读 0赞 #include <stdio.h> #include <math.h> //编写一个函数calc(f,a,b),求函数f(x)在[a,b]上的数值积分(函数指针的运用),以f(x)=x^2,范围为[0,1]和f(x)=sinx/x,范围为[1,2]为例子 int main() { double f1(double x); double f2(double x); double calc(double (*f)(double),double a,double b); printf("f(x)=x^2在范围[0,1]的数值积分结果为%.3f\n",calc(f1,0.0,1.0)); printf("f(x)=sinx/x在范围[0,1]的数值积分结果为%.3f\n",calc(f2,1.0,2.0)); return 0; } double f1(double x) { return x*x; } double f2(double x) { return (sin(x)/x); } double calc(double (*f)(double),double a,double b) { return ((b-a)/2)*((*f)(a)+(*f)(b)); } 将一个函数作为另一个函数的某个参数传入计算,使后者通用性增强。
还没有评论,来说两句吧...