用C语言写一个求定积分的程序
时间: 2024-05-10 09:21:03 浏览: 73
以下是一个使用梯形法求定积分的C语言程序:
```c
#include <stdio.h>
#include <math.h>
double f(double x) { // 被积函数
return sin(x);
}
double trape(double a, double b, int n) { // 梯形法求定积分
double h = (b - a) / n;
double s = 0.5 * (f(a) + f(b));
for (int i = 1; i < n; i++) {
s += f(a + i * h);
}
return h * s;
}
int main() {
double a, b;
int n;
printf("请输入积分区间[a, b]和分割数n:\n");
scanf("%lf %lf %d", &a, &b, &n);
double ans = trape(a, b, n);
printf("定积分的近似值为:%lf\n", ans);
return 0;
}
```
程序先定义了被积函数f(x),然后定义了一个使用梯形法求定积分的函数trape(a, b, n),其中a和b为积分区间,n为分割数,通过循环求解梯形面积的和来近似计算定积分的值。
在主函数中,程序提示用户输入积分区间和分割数,然后调用trape函数计算定积分的近似值并输出。用户输入的示例:
```
请输入积分区间[a, b]和分割数n:
0 1 1000
```
程序输出的结果为:
```
定积分的近似值为:0.459698
```
阅读全文