辛普生求积.txt

来自「数值计算方法所用的上机实验C++源程序,个人所编.」· 文本 代码 · 共 34 行

TXT
34
字号
#include <stdio.h>
#define N 16  /* 等分数 */
float func(float x)
{  float y;
   y=4.0/(1+x*x);
   return(y);
}

void gedianzhi(float y[],float a,float h)
{  int i;
   for(i=0;i<=N;i++)
     y[i]=func(a+i*h);
}
float simpson(float y[],float h)
{  float s,s1,s2;
   int i;
   s1=y[1];
   s2=0.0;
   for(i=2;i<=N-2;i=i+2)
   {  s1+=y[i+1];  /* 计算奇数项的函数值之和 */
      s2+=y[i];    /* 计算偶数项的函数值之和 */
   }
   s=y[0]+y[N]+4.0*s1+2.0*s2;
   return(s*h/3.0);
}
main()
{  float a,b,h,s,f[N+1];
   scanf("%f,%f",&a,&b);
   h=(b-a)/( float)N;
   gedianzhi(f,a,h);
   s=simpson(f,h);
   printf("s=%f\n",s);
}

⌨️ 快捷键说明

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