我的这个为啥输出的总是无根啊?哪里错了么

#include <stdio.h >
 #include<math.h>
 int main()
 {
     double a,b,c,x1,x2,disc;
     scanf("%1f%1f%1f",&a,&b,&c);
     disc=b*b-4*a*c;
     if(disc>=0){
     x1=((-b)+sqrt(b*b-4*a*c))/2.0*a;
     x2=((-b)-sqrt(b*b-4*a*c))/2.0*a;
     printf("x1=%7.2fx2=%7.2f",x1,x2);}
     else 
     printf("¸Ã·½³ÌÎÞ¸ù");
     return 0;
     
     
     
 }
 

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c,disc,x1,x2,p,q;
    scanf("%lf%lf%lf",&a,&b,&c);
    disc=b*b-4*a*c;
    if(disc<0)
        printf("no reason\n");
    else
    {
        p=-b/(2.0*a);
        q=sqrt(disc)/(2.0*a);
        x1=p+q;
        x2=p-q;
        printf("real roots:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);
    }
    return 0;
}
这是对的,搞不懂啦

大佬这句  printf("¸Ã·½³ÌÎÞ¸ù");实在看不懂...