查错...

daheixiong 2003-04-18 12:09:36
正确的和错误的比较,两段代码我看是一样的,只有借助各位的法眼了.
...全文
48 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
daheixiong 2003-04-18
  • 打赏
  • 举报
回复
正确的:
#include <stdio.h>
#include <math.h>

main()
{
float x0,x1,x2,fx0,fx1,fx2;

do
{
printf("Enter x1 & x2:");
scanf("%f,%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while (fx1*fx2>0);

do
{
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
if((fx0*fx1)<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}while (fabs(fx0)>=1e-5);

printf("x=%6.2f\n",x0);
}


错误的:
#include <stdio.h>
#include <math.h>

main()
{
float x0,x1,x2,fx0,fx1,fx2;

do
{
printf("Enter x1 & x2:");
scanf("%f,%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x1*((2*x1-4)*x1+3)-6;
}while (fx0*fx1>0);

do
{
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
if(fx0*fx1<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}while (fabs(fx0)>=1e-5);

printf("x=%6.2f\n",x0);


}
daheixiong 2003-04-18
  • 打赏
  • 举报
回复
to JennyVenus():谢谢。
to langziji(IT的民工):这样写正确,请查书。
langziji 2003-04-18
  • 打赏
  • 举报
回复
1. do
{
printf("Enter x1 & x2:");
scanf("%f,%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while (fx1*fx2>0); //here
2. do
{
printf("Enter x1 & x2:");
scanf("%f,%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x1*((2*x1-4)*x1+3)-6;
}while (fx0*fx1>0);//and here
用户 昵称 2003-04-18
  • 打赏
  • 举报
回复
1)
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6; //here
2)
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x1*((2*x1-4)*x1+3)-6; //and here
jomly 2003-04-18
  • 打赏
  • 举报
回复
up

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧