您的位置:首页 > 编程语言 > C语言/C++

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

2015-07-03 10:15 375 查看
【描述】

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

【分析】

【C语言】

#include<stdio.h>
#include<math.h>

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语言 指针