C //习题 8.13 写一个用矩形法求定积分的通用函数,分别求

C程序设计 (第四版) 谭浩强 习题8.13

习题 8.13 写一个用矩形法求定积分的通用函数,分别求

∫ 0 1 s i n x   d x ,   ∫ 0 1 c o s x   d x ,   ∫ 0 1 e x   d x \int_{0}^{1}sinx\ dx,\ \ \int_{0}^{1}cosx\ dx,\ \ \int_{0}^{1}e^x\ dx 01sinx dx  01cosx dx  01ex dx

说明:sin,cos,exp函数已在系统的数学函数库中,程序开头要用#include

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。

 

代码块
#include 
#include 
#include 

#define N 10000

double integral(double a, double b, int n, double (*fun)(double)){
	double x = (b - a) / n;
	double sum = 0.0;
	for(int i = 1; i <= n; i++){
		sum += x * fabs((*fun)(a + x * i));
	}
	return sum;
}

int main(){
	double f1, f2, f3;
	
	f1 = integral(0, 1, N, sin);
	f2 = integral(0, 1, N, cos);
	f3 = integral(0, 1, N, exp);
	
	printf("f1 = %.2f\n", f1);
	printf("f2 = %.2f\n", f2);
	printf("f3 = %.2f\n", f3);
	
	system("pause");
	return 0;
}

你可能感兴趣的:(#,C程序设计,(第四版),谭浩强,课后习题,C/C++,c语言,算法)