DeSt!ny 2020-07-10 17:55 采纳率: 100%
浏览 158
已采纳

解一元二次方程组时,当解为两个不相等实数根时,运行时出现-1.#IND,如何解决?

int main()
{

double a,b,c,d;

double x1,x2;

cin>>a>>b>>c;

d = b*b-4*a*c;

if( d<0 )
{
    cout<<"error";
}
else if ( d==0 )
{
    x1=x2=-b/(2*a);
    cout<<x1;
}
else
{
    x1=-b/(2*a)+sqrt(4*a*c-b*b)/(2*a);
    x2=-b/(2*a)-sqrt(4*a*c-b*b)/(2*a);
    cout<<x1<<" "<<x2;
}
return 0;

}

  • 写回答

3条回答 默认 最新

  • qiu_shaofeng 2020-07-10 18:03
    关注

    sqrt (4*a*c-b*b) 小于0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?