求大神指点,小弟不才,不能发现错误。
#include "stdio.h"#include "math.h"
int main()
{
float a,b,c,disc,x1,x2,real,imag;
scanf("%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6) {printf("该方程不是二次方程!\n");return;}
disc=b*b-4*a*c;
if (fabs(disc)<=1e-6)
printf("该方程有两个相等的实根: %.4f .\n",-b/(2*a));
if (disc>1e-6)
{x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("该方程有两个不相等的实根: %.4f , %.4f.\n",x1,x2);
}
if (disc<-1e-6)
{real=-b/(2*a);
imag=sqrt(-disc)/(2*a);
printf("该方程有两个共轭复根:\n");
printf("%.4f+%.4fi\n",real,imag);
printf("%.4f-%.4fi\n",real,imag);
}
return (0);
}