1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言用梯形法求定积分

C语言用梯形法求定积分

时间:2024-03-20 03:11:06

相关推荐

C语言用梯形法求定积分

写一个通用函数,用来求sinx、cosx、e ^ x、x ^ 2的定积分

#include<stdio.h>#include<math.h>float fsin(float x){return sin(x);}float fcos(float x){return cos(x);}float fe(float x){return exp(x);}float fpf(float x){return pow(x,2);}//以函数指针作为形参,即可实现函数名作为参数,由另一个函数调用float fun(float a,float b,int n,float (*p)(float x)){//积分的上限,下限,区间划分的份数以及被积函数的指针float i;float h=(b-a)/n;float s=0;for(i=a;i<b;i+=h){s=s+((p(i)+p(i+h))*h)/2;//梯形法求面积 }return s;}void main(){float a[4],b[4],r[4];printf("请输入求正弦函数定积分的上限a和下限b\n");scanf("%f%f",&a[0],&b[0]);r[0]=fun(a[0],b[0],50,fsin);printf("结果为%f\n",r[0]);printf("请输入求余弦函数定积分的上限a和下限b\n");scanf("%f%f",&a[1],&b[1]);r[1]=fun(a[1],b[1],50,fcos);printf("结果为%f\n",r[1]);printf("请输入求以e为底的指数函数定积分的上限a和下限b\n");scanf("%f%f",&a[2],&b[2]);r[2]=fun(a[2],b[2],50,fe);printf("结果为%f\n",r[2]);printf("请输入求X^2函数定积分的上限a和下限b\n");scanf("%f%f",&a[3],&b[3]);r[3]=fun(a[3],b[3],50,fpf);printf("结果为%f\n",r[3]);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。