c语言编程定积分lnx,C语言用辛普森公式求lnx在0到100上的定积分的源程序
2条回答 默认 最新
社区专家-Monster-XH 2023-02-05 23:35关注有用点击右侧采纳即可!
代码如下:#include <math.h> #include <stdio.h> double simpson(double (*f)(double), double a, double b, int n) { double h = (b - a) / (2 * n); double sum = f(a) + f(b); for (int i = 1; i <= n; i++) { double x = a + 2 * i * h; sum += 2 * f(x); } for (int i = 1; i < n; i++) { double x = a + (2 * i - 1) * h; sum += 4 * f(x); } return sum * h / 3; } double ln(double x) { return log(x); } double sinx(double x) { return sin(x); } int main() { int n = 10000; double a = 0, b = 100; double result = simpson(ln, a, b, n); printf("lnx在0到100上的定积分的近似值为: %.15lf\n", result); result = simpson(sinx, a, b, n); printf("sinx在0到100上的定积分的近似值为: %.15lf\n", result); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报