| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 447 人关注过本帖
标题:程序有问题,大家帮忙解决一下。
取消只看楼主 加入收藏
liuzhedash
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-7-11
收藏
 问题点数:0 回复次数:4 
程序有问题,大家帮忙解决一下。
void main()
{
float a,b,c,dt,sdt,x1,x2;
printf("input ax^2+bx+c=0 a,b,c");
scanf("%f %f %f",&a,&b,&c);
dt=b*b-4*a*c;
printf ("%f %f %f %f",a,b,c,dt);
if (a=0) printf("Not real E"); else
 if (dt<0)  printf ("no real roots");
  else /*if(dt>1e-6)*/ {x1=(-b+sdt)/(2*a);x1=(-b-sdt)/(2*a);printf("x1=%7.2f,x2=%7.2f",x1,x2);};
getch();
}
求一元二次方程的根,但是显示被零除。
谢谢大家
2008-07-11 10:30
liuzhedash
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-7-11
收藏
得分:0 
我的失误,这样的小问题
2008-07-11 14:10
liuzhedash
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-7-11
收藏
得分:0 
void main()
{
float a,b,c,dt,sdt,x1,x2;
printf("input ax^2+bx+c=0 a,b,c");
scanf("%f %f %f",&a,&b,&c);
dt=b*b-4*a*c;
printf ("%f %f %f %f",a,b,c,dt);
if (a==0) printf("Not real E");
  else if (dt<0)  printf ("no real roots");
    else if(dt>0) {x1=(-b+sdt)/(2*a);x1=(-b-sdt)/(2*a);printf("x1=%f,x2=%f\n",x1,x2);};
      else if (dt==0) {x1=(-b/(2*a));printf("x1=x2=%f",x1);};
  getch();
}
那么这个呢?加入了等根的判断,但是else出错了

[[it] 本帖最后由 liuzhedash 于 2008-7-11 14:32 编辑 [/it]]
2008-07-11 14:26
liuzhedash
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-7-11
收藏
得分:0 
把else去了就可以了,但是不去为什么不对?
而且统统能够去掉

[[it] 本帖最后由 liuzhedash 于 2008-7-11 14:48 编辑 [/it]]
2008-07-11 14:39
liuzhedash
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-7-11
收藏
得分:0 
多谢!麻烦了!
其实我的主要问题是在{}后面加了;
造成else的错误
2008-07-11 19:56
快速回复:程序有问题,大家帮忙解决一下。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016744 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved