#include <iostream>
using namespace std;
void main()
{
float a,b,result;
int n;
float f(float x);
float simpson(float (*f)(float x),float a,float b,int n);
cout<<"输入端点:";
cin>>a>>b;
cout<<"输入等分数:";
cin>>n;
result=simpson(f,a,b,n);
cout<<"运算结果是:"<<result;
}
float simpson(float (*f)(float x),float a,float b,int n)
{
float s,x,h;
for(s=f(a)-f(b),x=a,h=(b-a)/n;x<b;x+=h)
s+=4*f(x+h/2)+2*f(x+h);
return h*s/6;
}
float f(float x)
{
return 17*x*x*x+79*x*x+23*x+107;
}