写一个用矩形法求定积分的通用函数,分别求: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);
}
写一个用矩形法求定积分的通用函数,分别求: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);
}
相关文章推荐
- 关于指针的一些事情
- Lua和C语言的交互详解
- C# Pointer指针应用实例简述
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C++智能指针实例详解
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 基于C语言fflush()函数的使用详解
- C语言单链队列的表示与实现实例详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- Lua教程(四):在Lua中调用C语言、C++的函数
- C语言求幂计算的高效解法