二次方程的复根怎么求
#include<stdio.h>#include<math.h>
main()
{
float a,b,c,x1,x2,q,p,m,n;
char i;
scanf("%f,%f,%f",&a,&b,&c);
if (a==0)
{ printf("This isn't a quadratic\n");
x1=x2=-c/b;
printf("%8.4f\n",x1,x2);
}
else
{ n=b*b-4*a*c;
q=2*a;
if(n>0)
{ p=sqrt(n);
x1=(-b+p)/q;
x2=(b+p)/q;
printf("x1=%8.4f x2=%8.4f\n",x1,x2);}
else if("n==0")
{x1=x2=-b/q;
printf("%8.4f\n",x1,x2);}
else
{ m=sqrt(-n);
x1=(-b)/q+m;
x2=(-b)/q-m;
printf("x1=%8.4fi x2=%8.4fi\n",x1,x2);
}
}}
不知道为什么复根求不出来,各位给看看怎么回事 啊,谢谢拉