#include
#include
int main(void)
{
double a, b, c,d;
printf("Enter a, b, c \n");
scanf("%lf%lf%lf", &a, &b, &c);
d = b * b - 4 * a * c;
if(a==0)
{
if(b=0)
{
if(c==0)
printf( " 参数都为零,方程无意义 !\n " );
else
printf( " a 和 b 为 0 , c 不 为 0 ,方程不成立 \n " );
}
else
printf( " x = %0.2f\n " , - b/(2*a) );
}
else
if (d==0)
printf( " x = %0.2f\n " , - b/(2*a) );
else
if(d > 0)
{
printf( " x1=%0.2f\n " , (-b + sqrt(d))/2*a);
printf( " x2=%0.2f\n " , (-b-sqrt(d))/2*a);
}
else
{
printf( " x1=%0.2f+%0.2fi\n " , -b/(2*a), sqrt(-d)/(2*a));
printf( " x2=%0.2f-%0.2fi\n " , -b/(2*a), sqrt(-d)/(2*a));
}
return 0;
}
double类型和0作比较时候错误