方法一:

#include<stdio.h>

#include<math.h>

void jifen(float a,float b,double (*fun)(double))

{

int i;

double n=0.001,s=0.0,s1=0.0;

double l=(b-a)/n;

for(i=0;i<l;i++)

{

s=n*(*fun)(a+n*i)+s;

s1=((*fun)(a+n*i)+(*fun)(a+n*(i+1)))*n/2+s1;

}

printf("用矩形法求得该函数在(%2.0f,%2.0f)上的积分为%f。\n",a,b,fabs(s));

printf("用梯形法求得该函数在(%2.0f,%2.0f)上的积分为%f。\n\n",a,b,fabs(s1));

}

void main()

{

float m,n;

double f1(double x);

double f2(double x);

double f3(double x);

printf("请输入积分下限和上限:\n(注:此题目为下限小于上限,下限可以为负数!)\n");

scanf("%f,%f",&m,&n);

printf("1.sin函数:\n");

jifen(m,n,f1);

printf("2.cos函数:\n");

jifen(m,n,f2);

printf("3.exp函数:\n");

jifen(m,n,f3);

}

double f1(double x)

{

return sin(x);

}

double f2(double x)

{

return cos(x);

}

double f3(double x)

{

return exp(x);

}

方法二:

#include<stdio.h>

#include<math.h>

int main()

{

void integral(double a,double b,double (*fun)(double));

double f1(double x);

double f2(double x);

double f3(double x);

double f4(double x);

double f5(double x);

double f6(double x);

double f7(double x);

double f8(double x);

printf("please input 2 numbers:\n");

double a,b;

int n;

scanf("%lf,%lf",&a,&b);

printf("please choose 1,2,3,4,5,6,7or8:");

scanf("%d",&n);

if(n==1)       integral(a,b,f1);

else if(n==2)  integral(a,b,f2);

else if(n==3)  integral(a,b,f3);

else if(n==4)  integral(a,b,f4);

else if(n==5)  integral(a,b,f5);

else if(n==6)  integral(a,b,f6);

else if(n==7)  integral(a,b,f7);

else if(n==8)  integral(a,b,f8);

return 0;

}

void integral(double a,double b,double (*fun)(double))

{

double m=(b-a)/100;

double area=0;

for(int i=0;i<100;i++)

{

area=m*(*fun)(a+m*i)+area;

}

printf("%f\n",area);

}

double f1( double x)

{

return(x+1);

}

double f2(double x)

{

return(2*x+3);

}

double f3(double x)

{

return(1+exp(x));

}

double f4(double x)

{

return((1+x)*(1+x));

}

double f5(double x)

{

return(x*x*x);

}

double f6(double x)

{

return(sin(x));

}

double f7(double x)

{

return(cos(x));;

}

double f8(double x)

{

return (exp(x));

}

方法三:

#include<stdio.h>

#include<math.h>

int main()

{

void integral(double a,double b,double(*fun)(double));

double f1(double );

double f2(double );

double f3(double );

double f4(double );

double f5(double );

double f6(double );

double f7(double );

double f8(double );

double a,b;

printf("Please enter a and b:");

scanf("%lf,%lf",&a,&b);

integral(a,b,f1);

integral(a,b,f2);

integral(a,b,f3);

integral(a,b,f4);

integral(a,b,f5);

integral(a,b,f6);

integral(a,b,f7);

integral(a,b,f8);

return 0;

}

void integral(double a,double b,double(*fun)(double))

{

double m,n=a;

double p[200];

for(int i=0;i<=100;i++,n=n+(b-a)/100)

p[i]=(*fun)(n);

m=0;

for(i=1;i<=100;i++)

m=m+(p[i-1]+p[i])*(b-a)/200;

printf("The integral is:%f\n",m);

}

double f1(double n)

{

double e;

e=n+1;

return(e);

}

double f2(double n)

{

double e;

e=2*n+3;

return(e);

}

double f3(double n)

{

double e;

e=exp(n)+1;

return(e);

}

double f4(double n)

{

double e;

e=(1+n)*(1+n);

return(e);

}

double f5(double n)

{

double e;

e=n*n*n;

return(e);

}

double f6(double n)

{

return sin(n);

}

double f7(double n)

{

return cos(n);

}

double f8(double n)

{

return exp(n);

}

转载于:https://www.cnblogs.com/Latent-Truth/p/3471868.html

c语言用矩形法和梯形法求定积分相关推荐

  1. 梯形法 微积分 c语言,关于 用辛普森法和梯形法求微积分的 程序!

    共回答了8个问题采纳率:87.5% 1. 目的: (1)通过求定积分的程序设计,使学生理解和掌握C++语言的函数.函数指针等设计方法,培养学生综合利用C++语言解决数学计算问题,使学生将所学知识转化为 ...

  2. 梯形法求定积分(C)

    养成好习惯,点个赞 再走:有问题,欢迎私信.评论,我看到都会回复的 文章目录 梯形法求定积分 梯形法求定积分 假设 f(x) = x2 + 5x + 7 定积分下限为0,上积分上限为1 梯形法求定积分 ...

  3. 用java梯形法求定积分,用梯形法求定积分

    4.用梯形法求定积分(数值求解算法)用梯形法编程求函数f(x)=x^2+2x+1的定积分的值. //4.用梯形法求定积分(数值求解算法) 用梯形法编程求函数f(x)=x^2+2x+1的定积分的值. / ...

  4. c 语言 用矩形法求定积分,如何用矩形法(梯形法)求定积分

    分析: 高中的时候,我们学习过,可以通过矩形法或者矩形法来求定积分. 思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和. 简单的例子: 求 ...

  5. 用梯形法求定积分​​​​​​的值

    一.梯形法求解定积分的过程 1.求定积分值存在的问题 计算定积分是数值计算领域内的一个重要内容.对于能够得到原函数的被积函数,如: , 其定积分可以直接计算. 但对于不易得到原函数的被积函数,可以考虑 ...

  6. Java反梯形图案_梯形法求定积分(一)设计梯形法求积分的类模板,梯形法

    /*设计梯形法求积分的类模板,梯形法求积分的函数被定义为成员函数,可以求任意函数的定积分,用积分类的模板参数T引入被积函数*/ #include #include #include using nam ...

  7. c语言中求定积分矩形法,C语言使用矩形法求定积分的通用函数

    本文为大家分享了C语言使用矩形法求定积分的通用函数,供大家参考,具体内容如下 要求: 写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x . 分析: 矩形法,学过高等数学就知 ...

  8. 用C语言用指针怎么算通用定积分,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

  9. 编写指数函数 c语言,C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数,...

    问题描述: C语言:利用函数指针编写一个用矩形法求定积分的通用函数,包括正弦,余弦和指数函数, //我运行的结果和答案对不上,请帮我看看程序对吗? //实现积分 #include #include i ...

最新文章

  1. 使用Jupyter Notebook编写技术文档
  2. Linux下ipconfig分析及C语言实现
  3. mysql帐户权限replace_mysql 用户管理和权限设置
  4. 华为鸿蒙os什么时候应用上线,华为 HarmonyOS :即日起,全新上线鸿蒙 100 问
  5. lenovo Think Centre TCM 开发环境搭建
  6. Oracle数据库重复数据删除的三种情况
  7. java ocx调用_Javascript调用OCX控件
  8. TPU是什么材料,tpu材料属于塑料吗?
  9. Minimax AI 算法在井字游戏(或 Noughts and Crosses)游戏中的实现
  10. Ubuntu 20.04(Linux Mint XFCE 20)安装LBP2900打印机
  11. 软件性能测试包括哪些方面,简述软件系统性能指标主要包括哪些方面
  12. AI机器学习实战の电磁导航智能车中神经网络应用的问题与思考-交流向-本科生竞赛
  13. TIM_SetCompare1(TIM14,625); 但是这个办法对TIM4行不通。TIM4使用TIM_OCInitStructure.TIM_Pulse = dutyCycle;
  14. windows批处理学习
  15. 大厂程序员都会的分布式RPC框架,直接无私打包分享,手慢无
  16. 大白菜安装linux系统安装教程
  17. pytorch 训练时候不动了
  18. pr无法启动此程序因为计算机中丢失api,pr2017安装丢失的api
  19. 《智能经济时代初现雏形:数据赋能至上,数据共享先行》阅读笔记
  20. 郁闷的打包和诺基亚模拟器

热门文章

  1. 电脑连接过的网络的wifi密码查看器
  2. 可逆矩阵的概念 逆矩阵的求解方法总结
  3. 照片怎么改大小kb?这几种图片改kb方法很方便
  4. 一文学会怎样设置AppleWatch手表自动解锁iPhone手机?
  5. 【深度学习】transfromer-XL论文详解
  6. 科学计算机怎么按年金计算,普通年金终值计算器
  7. 索尼koov机器人比赛_燃!KOOV Challenge 2019机器人挑战赛即将拉开帷幕
  8. 【JS提升】选项卡的两种实现方式
  9. 什么是集群集群的分类
  10. 如何用Excel做一个战斗模拟器(四)装备的掉落与展示