用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的编程:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){\x05if(b-a>=0.005)\x05{\x05c

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 05:18:32
用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的编程:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){\x05if(b-a>=0.005)\x05{\x05c

用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的编程:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){\x05if(b-a>=0.005)\x05{\x05c
用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.
我的编程:
#include
float f(float x)
{
\x05return x*x*x+4*x*x-10;
}
void main()
{
float a,b,c;
a=1.0;
b=1.5;
for(;;)
{
\x05if(b-a>=0.005)
\x05{
\x05c=(a+b)/2;
\x05if(f(a)*f(c)==0)
\x05\x05break;
\x05else if(f(a)*f(c)0)
\x05\x05a=c;
\x05}
\x05else
\x05\x05break;
}
printf("二分结果为%f\n",c);
printf("保留三位有效数字为%0.2f\n",c);
}
请高手帮我鉴定下程序是否正确(下图为输出结果),还有就是他让求出具有3位有效数的近似根,我的跳出条件b-a>=0.005是否正确,如果正确的话,为什么是大于等于0.005而不是0.01呢?没有分了,还望见谅啊!

用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的编程:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){\x05if(b-a>=0.005)\x05{\x05c
用二分法求方程 f(x)=x^3+4(x^2)-10 在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.
f(1) = -50
f(1.25) = -1.796
f(1.375) = 0.162
f(1.3125) = -0.848
f(1.34375) = -0.3509
f(1.359375) = -0.096
f(1.367) = 0.029
f(1.363) = -0.036
---------
f(1.365) = -0.003
f(1.366) = 0.012
f(1.3655) = 0.004
可以看具有3位有效数字的近似解为:
x = 1.36
后边的3步可以不算.用二分法只算了7步就达到了要求的精度!