C语言实现复化梯形公式算定积分

#include<stdio.h>
double f(float x)
{
    return x*x+x;
}
double definf(float a,float b,int n)
{
    int k;
    double h,tmp;
    h=(b-a)*1.0/n;
    for(tmp=0,k=1;k<=n-1;k++)
        tmp+=f(a+k*h);
    return h*(f(a)+f(b))/2+h*tmp;
}
int main()
{
    float a,b;
    double definfresult;
    int n;
    do
    {
        printf("此程序用复化梯形公式计算f(x)=x^2+x的定积分\n");
        printf("积分下限a=");
        scanf("%f",&a);
        printf("积分上限b=");
        scanf("%f",&b);
        printf("划分个数n=");
        scanf("%d",&n);
        definfresult=definf(a,b,n);
        printf("下限为%.2f,上限为%.2f时,f(x)的定积分为%.2lf\n\n",a,b,definfresult);
    }while(n>0);
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。