中点规则 - C中的数值方法

时间:2014-11-19 03:48:21

标签: c

我想计算曲线下面的大致面积。实际上这不是数学问题。 此代码不会打印任何内容。 问题出在哪儿? 提前谢谢

double midpointrule(double,double,int);

int main(int argc, char *argv[]) {
double x,y;
int z;
scanf("%lf %lf %d", &x, &y, &z);
double midpointrule(x,y,z);
}


double midpointrule(double uplimit,double lowlimit,int interval)
{
    int i;
    double func1=0, func2=0;
    double deltax = (uplimit - lowlimit)/interval;
    for(i=1; i<=interval; i++)
    {
        func1 = func1 + pow(M_E,pow(deltax,2));
        func2 = func2 + 2*pow(M_E,deltax) - 2*deltax;
    }
func1 = func1*deltax;
func2 = func2*deltax;


printf("midpoint result for func1 = %lf\n", func1);
printf("midpoint result for func2 = %lf\n", func2);
}

1 个答案:

答案 0 :(得分:2)

main功能的第7行,你需要像这样调用你的功能

midpointrule(x,y,z);

而不是像这样

double midpointrule(x,y,z);

此外,该功能不会返回任何内容。如果您不希望它返回任何内容,请将其设为void