c语言编写下面定积分计算?

2024-11-16 06:05:01
推荐回答(2个)
回答(1):

我这边有个例子,你可以参考一下
至于菜单,自己定义吧,我也不知道你要什么样的菜单
#include

#include

#define
pf
printf
#define
m
1000
void
main()
{
float
f1(float);
float
f2(float);
float
f3(float);
float
f4(float);
float
f5(float);
float
integral(float,float,float
(float));
float
a,b;
pf("请输入上,下限a,b:");
scanf("%f,%f",&a,&b);
pf("(1+x)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("(2*x+3)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f2));
pf("(1+x)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("exp(x)+1在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f3));
pf("(1+x)*(1+x)在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f4));
pf("x*x*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f5));
}
float
f1(float
x)
{
float
y;
y=(1+x)*x;
return
y;
}
float
f2(float
x)
{
float
y;
y=(2*x+3)*x;
return
y;
}
float
f3(float
x)
{
float
y;
y=(float)exp(x)+1;
return
y;
}
float
f4(float
x)
{
float
y;
y=(1+x)*(1+x);
return
y;
}
float
f5(float
x)
{
float
y;
y=x*x*x;
return
y;
}
float
integral(float
a,float
b,float
(*fun)(float))
{
float
n,h,s=0;
int
i;
n=(b-a)/m;
for(i=0;i

评论
0

0

0

加载更多

回答(2):

给你一个示例程序,也是做积分,是y=x*x的[0,2]的定积分。
func(float
x)
{
float
f;
float
a,b,c;
a=1,b=0,c=0;
f=a*x*x+b*x+c;
return
f;
}
test_jifen()
{
float
dx=0.01;
float
bound_a=0,bound_b=2,x,y;
float
temp;
int
j;
x=bound_a;
y=0;
while(x

追问: