函数指针实现类似多态的特性

来源:互联网 发布:生鲜网络销售平台 编辑:程序博客网 时间:2024/06/13 02:16
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#define N 1e+6#define PI 3.1415926double integral(double(*p)(), double a, double b){double h = (b - a) / N;double x1 = a + h;double f0, f1,intf=0;f0 = (*p)(a);for (int i=0;i<N;i++){f1 = (*p)(x1);intf += (f0 + f1)*h / 2;f0 = f1;x1 = a + (i + 1)*h;}return intf;}double f1(double x){return 1.0 / 3 * x*x;}double f2(double x){return sqrt(4.0-x*x);}void main(){printf("%f\n", integral(sin, 0, PI / 4));printf("%f\n", integral(f1, 1, 2));printf("%f\n", integral(f2, 0, 2));printf("%f\n", integral(exp, 0,1));printf("\n");system("pause");}

0 0
原创粉丝点击