写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x

【描述】

写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x

【分析】


【C语言】

#include
#include

int main() {
	float integral(float (*p)(float), float a, float b, int n
			);
	float fsin(float);
	float fcos(float);
	float fexp(float);

	float a1, b1, a2, b2, a3, b3, (*p)(float), c;
	int n = 20;
	scanf("%f %f", &a1, &b1);
	scanf("%f %f", &a2, &b2);
	scanf("%f %f", &a3, &b3);

	p = fsin;
	c = integral(p, a1, b1, n);
	printf("The integral of sin(x) is:%f\n", c);
	p = fcos;
	c = integral(p, a2, b2, n);
	printf("The integral of cos(x) is:%f\n", c);
	p = fexp;
	c = integral(p, a3, b3, n);
	printf("The integral of exp(x) is:%f\n", c);
	return 0;
}

float integral(float (*p)(float), float a, float b, int n) {
	int i;
	float x, h, s;
	h = (b - a) / n;
	x = a;
	s = 0;
	for (i = 1; i <= n; i++) {
		x = x + h;
		s = s + (*p)(x) * h;
	}
	return s;
}

float fsin(float x) {
	return sin(x);
}

float fcos(float x) {
	return cos(x);
}

float fexp(float x) {
	return exp(x);
}


你可能感兴趣的:(C)