永发信息网

floating point error:domain错误

答案:2  悬赏:50  手机版
解决时间 2021-02-03 19:56
  • 提问者网友:绫月
  • 2021-02-02 23:17
以下是我的程序,但是每次输入0 0 0,运行后会显示floating point error:domain,是什么问题啊,要怎样改啊,跪求解释啊,急需啊!

#include
#include
int main()
{cout<<"*********************************"< double a,b,c;
double x1,x2;
double disc,realpart,imagpart;
cout<<"Please input a:"; cin>>a;
cout<<"Please input b:"; cin>>b;
cout<<"Please input c:"; cin>>c;
if(a==0&&b==0) cout<<"No root!"< if(a==0&&b!=0) cout<<"Has only one root:"<<(-c)/b< disc=b*b-4*a*c;
if(disc==0) cout<<"Has two equal roots:"<<(-b)/(2*a)< else if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
cout<<"Has distinct real roots:"< }
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
cout<<"Has complex roots:"< cout< cout< }
return 0;
}
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-02-02 23:33
你要考虑分母不能为0,你程序里边有好多式子都是做除法运算,运算前要先判断分母是不是为0.
全部回答
  • 1楼网友:舊物识亽
  • 2021-02-03 00:44
floating point error:domain是什么意思 是浮点错误,domain是领域的意思,这个就是你的变量溢出了。。 所谓溢出就是你的数超出机器表示的范围了... 数据的每一种类型都有自己的存储空间,那空间一定,表示的数就有一定的范围,如果你的数超出范围会出错.但是一般机器不报错.而是给你一个随机的一个值.但是零做除数了,它就会报错了。..
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯