利用二分法求方程的解我想用二分法求方程的解,但无论输入什么值,结果都是“Too Bad !”.请各位帮忙指出我的错误,谢
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/11 12:20:51
利用二分法求方程的解
我想用二分法求方程的解,但无论输入什么值,结果都是“Too Bad !”.
请各位帮忙指出我的错误,谢谢.
#include
float main()
{
float a,b,c;
float y,w,z;
printf("\n(a,b)\n");
scanf("%f,%f",&a,&b);
c=(a+b)/2;
w=a*a*a-9*a-5;
z=b*b*b-9*b-5;
y=c*c*c-9*c-5;
while(y!=0)
{
if( (w>0)||(z0)
{
b=c;
c=(a+c)/2;
}
else if(y
我想用二分法求方程的解,但无论输入什么值,结果都是“Too Bad !”.
请各位帮忙指出我的错误,谢谢.
#include
float main()
{
float a,b,c;
float y,w,z;
printf("\n(a,b)\n");
scanf("%f,%f",&a,&b);
c=(a+b)/2;
w=a*a*a-9*a-5;
z=b*b*b-9*b-5;
y=c*c*c-9*c-5;
while(y!=0)
{
if( (w>0)||(z0)
{
b=c;
c=(a+c)/2;
}
else if(y
你输入的值是多少
再问: -99999999 99999999
再答: 你while循环的终止条件是函数值=0,但事实上没法找到这么精确的解,它可能是个非常接近于0的值,所以你循环条件改成 while(y < -1e-5 || y > 1e-5) 这样就可以了。
再问: 关键输出来的值总是“Too Bad !”
再答: 我觉得是你在读入上出现了问题。 你输入的格式是-99999999,99999999吧,中间有个逗号。 我第一次忘记加逗号,于是b的值变成了一个不一样的值,导致(w>0)||(z
再问: -99999999 99999999
再答: 你while循环的终止条件是函数值=0,但事实上没法找到这么精确的解,它可能是个非常接近于0的值,所以你循环条件改成 while(y < -1e-5 || y > 1e-5) 这样就可以了。
再问: 关键输出来的值总是“Too Bad !”
再答: 我觉得是你在读入上出现了问题。 你输入的格式是-99999999,99999999吧,中间有个逗号。 我第一次忘记加逗号,于是b的值变成了一个不一样的值,导致(w>0)||(z