欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言编程练习 5.按如下函数原型,采用梯形法编程实现(分成100个小梯形,再求这100个梯形面积的和),在积分区间[a,b]内计算函数

程序员文章站 2024-02-02 21:48:10
...

题目完整描述

C语言编程练习 5.按如下函数原型,采用梯形法编程实现(分成100个小梯形,再求这100个梯形面积的和),在积分区间[a,b]内计算函数

#include <stdio.h>
float Fun1(float x);
float Fun2(float x);
float Integral(float (*f)(float), float a, float b);
int main()
{
    float y1, y2;
    y1 = Integral(Fun1, 0.0, 1.0);
    y2 = Integral(Fun2, 0.0, 3.0);
    printf("y1=%f\ny2=%f\n", y1, y2);
    return 0;
}
/*  函数功能:计算函数1+x*x的函数值 */
float Fun1(float x)
{
    return  1 + x * x;
}
/*  函数功能:计算函数x/(1+x*x)的函数值 */
float Fun2(float x)
{
    return x / (1 + x * x);
}
/*    函数功能:用梯形法计算函数的定积分 */
float Integral(float (*f)(float), float a, float b)
{
    float s, h;
    int n = 100, i;
    s = ((*f)(a) + (*f)(b)) / 2;
    h = (b - a) / n;
    for (i = 1; i < n; i++)
    {
        s += (*f)(a + i * h);
    }
    return s * h;
}


相关标签: C语言练习

上一篇: sql增删改查

下一篇: