普通的题,用函数求积分拉。不是要求个答案,就是想知道我编的哪儿错了。
甚至输入上下限的时候,“3,0”都会报 输入错误 看不懂了。如果是其他的 x>y倒不会这样,但也没有正确答案。
#include<stdio.h>
double a,b,c;/*不妨设被积函数为二次函数,a,b,c分别是二次项,一次项和常数项的系数*/
double function(double x)
{
return a*x*x+b*x+c;
}
double jifen(double upper,double lower)
{
double n=upper-lower,area=0;
int i=1;
for(i=1;i<=500;i++)
area=(function(lower+0.002*n)+function(lower))*0.001*n+area;
return area;
}
main()
{
double x,y,z;
printf("请输入被积二次函数的三个参数:");
scanf("%f,%f,%f",&a,&b,&c);
printf("请输入被积函数的上下限:");
scanf("%f,%f",&x,&y);
if(y>=x)
printf("输入有误。");
else
{
z=jifen(x,y);
printf("所求面积为:%f",z);
}
}
甚至输入上下限的时候,“3,0”都会报 输入错误 看不懂了。如果是其他的 x>y倒不会这样,但也没有正确答案。
#include<stdio.h>
double a,b,c;/*不妨设被积函数为二次函数,a,b,c分别是二次项,一次项和常数项的系数*/
double function(double x)
{
return a*x*x+b*x+c;
}
double jifen(double upper,double lower)
{
double n=upper-lower,area=0;
int i=1;
for(i=1;i<=500;i++)
area=(function(lower+0.002*n)+function(lower))*0.001*n+area;
return area;
}
main()
{
double x,y,z;
printf("请输入被积二次函数的三个参数:");
scanf("%f,%f,%f",&a,&b,&c);
printf("请输入被积函数的上下限:");
scanf("%f,%f",&x,&y);
if(y>=x)
printf("输入有误。");
else
{
z=jifen(x,y);
printf("所求面积为:%f",z);
}
}
