变步长梯形.c

来自「数值分析的几个C实现,比较小.」· C语言 代码 · 共 20 行

C
20
字号
#include<stdio.h>
#include<math.h>
main()
{float a=0,b=1,e=0.00001,s=0,x=0,t1,t2,h=1;
float f();
 h=b-a;t1=(a*sin(a)+b*sin(b))/2;
 do
 {s=0;x=a+h/2;
  while(x<b)
  {s+=f(h/2);x+=h;}
  t2=t1/2+h*s/2;
  if(fabs(t1-t1)<=e) break;
   else {h/=2;t1=t1;}
  }while(1);
 printf("%.6f",t2);getch();
 }
float f(float m)
{return(m*sin(m));
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?