辛普生求积.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 + -
显示快捷键?