midpnt.c

来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 30 行

C
30
字号
#define FUNC(x) ((*func)(x))float midpnt(float (*func)(float), float a, float b, int n){	float x,tnm,sum,del,ddel;	static float s;	int it,j;	if (n == 1) {		return (s=(b-a)*FUNC(0.5*(a+b)));	} else {		for(it=1,j=1;j<n-1;j++) it *= 3;		tnm=it;		del=(b-a)/(3.0*tnm);		ddel=del+del;		x=a+0.5*del;		sum=0.0;		for (j=1;j<=it;j++) {			sum += FUNC(x);			x += ddel;			sum += FUNC(x);			x += del;		}		s=(s+(b-a)*sum/tnm)/3.0;		return s;	}}#undef FUNC

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?