7-28 求一元二次方程的根

求一元二次方程的根,设aX^2+bx+c=0,当b^2-4ac>=0时,输出其两个根x1,x2;如方程无实根,则输出no.
输入格式:
输入a b c

输出格式:
x1=实根1,x2=实根2 或者 no

输入样例1:
-1 3 4
结尾无空行

输出样例1:
x1=-1.000000,x2=4.000000
结尾无空行

输入样例2:
3 5 7
结尾无空行

输出样例2:
no
结尾无空行


#include<stdio.h> 
#include<math.h> 
void main() 
{ 
    float a,b,c,disc,x1,x2,realpart,imagpart; 
    scanf("%f,%f,%f",&a,&b,&c); 
    printf("the equation"); 
    if(fabs(a)<=1e-6) 
        printf("is not a quadratic\n"); 
    else 
    { 
        disc=b*b-4*a*c; 
        if(fabs(disc)<=1e-6) 
            printf("has two equal roots :%8.4f\n",-b/(2*a)); 
        else 
            if(disc>1e-6) 
            { 
                x1=(-b+sqrt(disc))/(2*a); 
                x2=(-b-sqrt(disc))/(2*a); 
                printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); 
            } 
            else  
            { 
                realpart=-b/(2*a); 
                imagpart=sqrt(disc)/(2*a); 
                printf("has complex roots:\n"); 
                printf("%8.4f+%8.4fi\n",realpart,imagpart); 
                printf("%8.4f-%8.4fi\n",realpart,imagpart); 
            } 
    } 
}