怎么用C语言用累积梯形面积求定积分?用户界面菜单中至少包括1:输入积分左右端点a,t,梯形个数n.2:开始就算.3:退出.以上三项.谢谢大侠相助了!

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/08 17:15:13
怎么用C语言用累积梯形面积求定积分?用户界面菜单中至少包括1:输入积分左右端点a,t,梯形个数n.2:开始就算.3:退出.以上三项.谢谢大侠相助了!
xSmkP+NJ%iiv 7ٚHޕ,en)+֗vs$_m&0$^rs}ssMRtk/a{ݻ^ -{Nup`p^kv=o:qXc&:mg;lm/bOlV 1IٱdDnwFVc#9sM~6 u>xom_),1%JU.%B|TQKbYUŦCDTJChdB)ydM恳d,r@ , 7 ,WLĎA Rky 0!lT0_v> a|?Y5(,D`-IE1tV4P)w~IjBD@ORwi*>XYR(R5g)E X-MLܱ4w4Lˬݻ{xvF>)菱KQCȢ(Nܙ( Rl\У(̅[((

怎么用C语言用累积梯形面积求定积分?用户界面菜单中至少包括1:输入积分左右端点a,t,梯形个数n.2:开始就算.3:退出.以上三项.谢谢大侠相助了!
怎么用C语言用累积梯形面积求定积分?
用户界面菜单中至少包括1:输入积分左右端点a,t,梯形个数n.2:开始就算.3:退出.以上三项.谢谢大侠相助了!

怎么用C语言用累积梯形面积求定积分?用户界面菜单中至少包括1:输入积分左右端点a,t,梯形个数n.2:开始就算.3:退出.以上三项.谢谢大侠相助了!
#include
typedef double Fun(double x);
double integral(Fun f, double x1, double x2, int n)
{
double delta = (x2 - x1) / n;
double I = 0.5 * (f(x1) + f(x2))* delta;
int i = 1;
for( ; i < n; i++)
I += f(x1 + delta * i)* delta;
return I;
}
double fun(double x)
{
return x * x;
}
int main()
{
double a, t, ret;
int n;
printf("输入积分左右端点a,t,梯形个数n\n");
scanf("%lf %lf %d", &a, &t, &n);
ret = integral(fun, a, t, n);
printf("x^2在[%lf,%lf]上的定积分为%lf\n", a, t, ret);
return 0;
}
运行结果
输入积分左右端点a,t,梯形个数n
0 1 2000
x^2在[0.000000,1.000000]上的定积分为0.333333