simpson.c

来自「C语言程 反对萨芬记录卡上的交付离开的撒娇发了啊」· C语言 代码 · 共 26 行

C
26
字号
#include<stdio.h>
#include<conio.h>
main()
{    int i,n=2;
      float s;     float f(float);
      float Simpson(float(*)(float),float,float,int n);
        for(i=0;i<=2;i++)
        {   s=Simpson(f,0,1,n);
          printf("s[%d]=%f\n",n,s);   n*=2;}
          getch();
 }
 float Simpson(float(*f)(float),float a,float b,int n)
   {  int k;
     float s,s1,s2=0.0;
      float h=(b-a)/n;
      s1=f(a+h/2);
      for(k=1;k<n-1;k++)
      {   s1+=f(a+k*h+h/2);
           s+=f(a+k*h);     }
           s=h/6*(f(a)+4*s1+2*s2+f(b));   return s; }
    float f(float x){  return 1/(1+x*x);  }

 s(2)=0.785392
 s(4)=0.785398
 s(8)=0.785398

⌨️ 快捷键说明

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