源代码如下:
#include#includefloat f1(float x)
{
return(1.0+x);
}
float f2(float x)
{
return(2.0*x+3.0);
}
float f3(float x)
{
return(exp(x)+1);
}
float f4(float x)
{
return(pow(1+x,2));
}
float f5(float x)
{
return(pow(x,3));
}
float fsimp(float a,float b,float (*p)(float))
{
float c,s;
c=(a+b)/2;
s=(b-a)/6*(p(a)+4*p(c)+p(b));
return s;
}
int main()
{
float a,b;
printf("请输入积分下限a的值:");
scanf("%f",&a);
printf("请输入积分上限b的值:");
scanf("%f",&b);
printf("%f\n",fsimp(a,b,f1));
}
扩展资料
1、对应于一个积分式要有一段程序,可以改变程序的一小部分来改变所要求的积分式。
2、除数不能位0。
3、两个整数相除,结果仍是整数。
4、若被除数其中有一个为浮点数或者两个都为浮点数,则结果为浮点类型。操作数必须为整数,不能是浮点数。
代码如下:
f1浮点数(x)
{
返回(1.0+x);
}
f2浮点(浮点x)
{
Return(2.0*x+3.0);
{}floatf3(floatx)return(exp(x)+1);{}浮动f4(浮动x)返回值(pow(1+x,2));
}
f5(Floatx){
返回(pow(x,3));
}
fsimp(Floata,Floatb,Float(*p)(Float))
{
浮动c,s;
C=(a+b)/2;
/6s=(b-a)*(p+4*p(c)(a)+p(b));
返回年代;
}
Intmain()
{
浮动a、b;
Printf(“请输入a:的值”);
scanf (" % f ", & a);
Printf(“请输入上限b:”的值);
scanf(“% f”,& b);
Printf("%f\n",fsimp(a,b,f1));
}
扩展资料:
1.对应一个积分要有一个程序段,你可以改变程序的一小部分来改变所需的积分。
2.除数不可能是0。
3.除以两个整数,结果仍然是整数。
4.如果一个或两个红利都是浮点数,那么结果就是浮点类型的。操作数必须是整数,而不是浮点数。
5.高等数学中的微积分是连续的,cpu是离散系统中按节拍运行的顺序电路,计算机中的dt不能无穷小,但根据算法的执行周期有一个最小值,微分可减可除,积分可加。
本回答被网友采纳 高等数学里的微积分是连续的,CPU这种时序电路按拍运行属于离散系统,dt在计算机里不可能趋于无穷小,而是有个最小值,这个取决于的算法执行周期。
微分可以用减法或除法,积分用加法。