应该将
float A,B,N,H=(B-A)/N,sum=0
改为:
float A,B,N,H,sum=0
将H=(B-A)/N放在scanf ("%f",&N)后面。
#另外建议将int i放在主函数起始处。
-----------------------------------------
更改后的程序:
#include<stdio.h>
float f(float x)
{
return 4/(x*x+1)
}
void main()
{
float A,B,N,H,sum=0
int i
printf ("请输入A值:")
scanf ("%f",&A)
printf ("请输入B值:")
scanf ("%f",&B)
printf ("请输入N值:")
scanf ("%f",&N)
H=(B-A)/N
for(i=1i<=Ni++)
{
sum+=(f(A)+f(A+H))*H/2
A=A+H
}
printf("%.5f\n",sum)
}
源代码如下:
#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、若被除数其中有一个为浮点数或者两个都为浮点数,则结果为浮点类型。 *** 作数必须为整数,不能是浮点数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)