C++语言编程,用定步长辛普森公式求积分
请问下面的程序哪里错了,急需各位大神帮忙指出修正。程序题目见附件。急!急!急!!!小女子在此不胜感激
C++实验 题目.rar
(7.54 KB)
#include <iostream.h>
#include <math.h>
double f(double x)
{
double t;
t=cos(x);
return t;
}
void main()
{
int n=1,i;
float m,s,s1,s2=0,s3,h,a=0,b=0.8,c=0.5,p,q,d;
double eps=1e-8;
while(fabs(f(n)-f(n-1))>=eps)
{
h=(b-a)/(2*n);
m=(b-a)/(3*n);
c=0.5;
d=f(a)-f(b);
s1=c*d;
for(i=1;i<=n;i++)
{
p=2*f(a+(2*i-1)*h);
q=f(a+2*i*h);
s3=p+q;
s2=s2+s3;
s1=m*(s1+s2);
}
cout<<s<<endl;
}
}