【C语言】梯形法求函数积分
编写一个用梯形法求一元函数f(x)在(a,b) 上积分近似值的函数过程。并就f(x)=sin(2x)+x,当[a,b]=[0,3.14159]、小区间数n=10 和n=20 时,分别计算并输出积分的近似值S1和S2,保留3 位小数。
1 #include<stdio.h> 2 #include<math.h> 3 float f(float x) 4 { 5 return sin(2*x)+x; 6 } 7 int main() 8 { 9 float a,b,len,F=0;// 10 int n,i; 11 printf("请输入a,b: "); 12 scanf("%f%f",&a,&b); 13 printf("请输入n的值: "); 14 scanf("%d",&n); 15 len=(a+b)/n; 16 for(i=0;i<n;i++) 17 { 18 F+=len*f(a); 19 a+=len; 20 } 21 printf("%.3f\n",F); 22 return 0; 23 }
有问题,请指正,谢谢!