【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 }

 

 有问题,请指正,谢谢!

posted @ 2018-04-20 16:14  ieblYang  阅读(5416)  评论(0编辑  收藏  举报