复化抛物线积分公式
12-03
#include
#include
double F(double x);
void main()
{
double a,b,h,S,x[20],y[20],XX,YY;
int n,i;
printf("欢迎使用\n");
printf("请输入要等分的分数n="); scanf("%d",&n);
printf("请输入积分上限b=");
scanf("%lf",&b);
printf("请输入积分下限a=");
scanf("%lf",&a);
h=(b-a)/n;
for(i=1;i
{
x[i]=a+i*h;
printf("x[%d]=%lf ",i,x[i]);
}
printf("\n");
for(i=1;i
{
y[i]=a+(2*i-1)*h/2;
printf("y[%d]=%lf ",i,y[i]);
}
XX=0;
for(i=1;i
XX=F(x[i])+XX;
YY=0;
for(i=1;i
YY=F(y[i])+YY;
S=h/6*(F(a)+F(b)+4*YY+2*XX);
printf("\n");
printf("积分结果是:%lf",S);
printf("\n");
}
double F(double x)
{
double b;
if(x!=0) //0不能做分母,故0点特殊处理。 {
b=(sin (x))/x;
return b;
} } else return 1;