10.13 写一个用矩形法求定积分的通用函数,分别求sinx,cosx,expx的0-1的定积分
#include#include int main(){ int n=3000; float a=0,b=1,(*p)(float); float integral(float a, float b, int n, float (*p)(float)); float fsin(float); float fcos(float); float fexp(float); //求sinx的定积分 p=fsin;//函数名就是该函数的指针 float x=integral(a, b, n, p);//调用指向函数的指针时,不向指针指向的函数中传参 printf("sinx的0到1定积分= %8.2f\n",x); //求cosx的定积分 p=fcos;//函数名就是该函数的指针 float y=integral(a, b, n, p); printf("cosx的0到1定积分= %8.2f\n",y); //求sinx的定积分 p=fexp;//函数名就是该函数的指针 float z=integral(a, b, n, p); printf("expx的0到1定积分= %8.2f\n",z); return 0; } //矩形法求定积分 float integral(float a, float b, int n, float (*p)(float)){ int i; float h,x=a,s=0; h=(b-a)/n;//h步长,n分的份数 for(i=0; i
结果: