看看叭T^TT^T
输入1 2 3是无解,应该输出-1才对
可是为啥成这样了啊?
先判断b*b-4*a*c的值,再进行开根(负数在实数域范围内没有平方根)。可参考:https://www.cnblogs.com/wlyperfect/p/12518773.html?ivk_sa=1024320u
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, k, x1, x2;
scanf("%lf %lf %lf", &a, &b, &c);
if(a != 0)
{
k = b*b - 4*a*c;
if(k < 0)
{
printf("-1\n");
}else if(k == 0){
x1 = (-b + sqrt(k))/(2.0*a);
x2 = x1;
printf("x1=%.2lf\nx2=%.2lf", x1, x2);
}else{
x1 = (-b + sqrt(k)) / (2.0*a);
x2 = (-b-sqrt(k)) /(2.0*a);
printf("x1=%.2lf\nx2=%.2lf", x1, x2);
}
}else
printf("0\n");
return 0;
}