求一元二次方程,感觉这个if 语句用错了

#include <stdio.h>
#include <math.h>
void main()
{
/考生在此设计程序/
float a,b,c,x1,x2;
printf("请输入二次项系数a,一次项系数b,常数项系数c");
scanf("%f%f%f",&a,&b,&c);
if(bb-4ac>0)
x1=(-b+sqrt(b
b-4ac))/2a;
x2=(-b-sqrt(b
b-4ac))/2a;
printf("%f%f\n",&x1,x2);
else if(b
b-4ac=0)
x1=-b/2a;
x2=-b/2
a;
printf("%f%f\n",x1,x2);
else
printf("无解");
}

二句以上要用{}括起来,另外 -b/2a中的2a也要()括起了,或者连除 -b/2/a
(bb-4a*c==0) 判断相等要用双等号 ==


#include <stdio.h>
#include <math.h>
int main()
{
    /*考生在此设计程序*/
    float a,b,c,x1,x2;
    printf("请输入二次项系数a,一次项系数b,常数项系数c");
    scanf("%f %f %f",&a,&b,&c);
    if(b*b-4*a*c>0){
        x1=(-b+sqrt(b*b-4*a*c))/(2*a);
        x2=(-b-sqrt(b*b-4*a*c))/(2*a);
        printf("%f%f\n",&x1,x2);
    }
    else if(b*b-4*a*c==0){
        x1=-b/(2*a);
        x2=-b/(2*a);
        printf("%f %f\n",x1,x2);
    }
    else
        printf("无解");
        
    return 0;
}