#include <stdio.h>#include <math.h>void trap(double a,double b, int n, double f(double arg));
double g(double x);
double h(double x);
int main(){ double a,b; int n; printf("区间左端点:"); scanf("%lf",&a); printf("区间右端点:"); scanf("%lf",&b); printf("区间分段数:"); scanf("%d",&n); trap(a,b,n,h); return 0;}
void trap(double a,double b ,int n,double f(double arg)){ double T; double h=(b-a)/n; double sum=0.0; for(int i=1;i<=n-1;i++) { double x = a+i*h; sum += f(x); }
T = h*(f(a) + f(b) + 2*sum)/2; printf("the area is %f",T);}
double g(double x){ return x*x*sin(x);}
double h(double x){ return sqrt(4-x*x);}
程序中实现了函数参数的使用。程序主要是求取一个函数f(x)围成的图形的面积。
在计算方法中有类似的方法,应该是龙倍格算法。
新意在于:函数的参数是另一个函数,增强了函数的实用性