zoukankan      html  css  js  c++  java
  • 10.13 写一个用矩形法求定积分的通用函数,分别求sinx,cosx,expx的0-1的定积分

    10.13 写一个用矩形法求定积分的通用函数,分别求sinx,cosx,expx的0-1的定积分

    #include <stdio.h>
    #include <math.h>

    int main(){
        int n=3000;
        float a=0,b=1,(*p)(float);
        float integral(float a, float b, int n, float (*p)(float));
        float fsin(float);
        float fcos(float);
        float fexp(float);
        //求sinx的定积分
        p=fsin;//函数名就是该函数的指针
        float x=integral(a, b, n, p);//调用指向函数的指针时,不向指针指向的函数中传参
        printf("sinx的0到1定积分= %8.2f ",x);
        //求cosx的定积分
        p=fcos;//函数名就是该函数的指针
        float y=integral(a, b, n, p);
        printf("cosx的0到1定积分= %8.2f ",y);
        //求sinx的定积分
        p=fexp;//函数名就是该函数的指针
        float z=integral(a, b, n, p);
        printf("expx的0到1定积分= %8.2f ",z);

        return 0;
    }

    //矩形法求定积分
    float integral(float a, float b, int n, float (*p)(float)){
        int i;
        float h,x=a,s=0;
        h=(b-a)/n;//h步长,n分的份数
        for(i=0; i<n; i++){
            x=x+h;
            s=s+(*p)(x)*h;
        }
        return s;
    }


    float fsin(float x){
        return sin(x);
    }
    float fcos(float x){
        return cos(x);
    }
    float fexp(float x){
        return exp(x);
    }

    结果:

  • 相关阅读:
    Qt double转换成Qstring
    QT 控件ComboBox
    前端web项目打包(二)
    前端Web打包成可执行程序
    div中下拉框无法点击展开跟选中
    div下多个table并排排列
    VS将数据保存在excel表格中
    关于windows下任务栏应用程序标签消失问题的解决办法
    Java8中map()和flatMap()的区别
    Java对象的深拷贝
  • 原文地址:https://www.cnblogs.com/Allen-win/p/7277042.html
Copyright © 2011-2022 走看看