C 语言 二次方根

#include<stdio.h>
#include<math.h>
int main ()
{ double a,b,c,disc,e,f;
printf("please input \na=\nb=\nc=\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(fabs(a)<=1e-6)
printf("The equation is not a quadratic\n");
else {
disc=b*b-4*a*c;
e=-b/(2*a);
if(fabs(disc)<1e-6)
printf("x1=x2=%f\n",e);
else if(disc>0)
{
f=sqrt(disc)/(2*a);
printf("x1=%8.4f+%8.4f\n",e,f);
printf("x2=%8.4f-%8.4f\n",e,f);
}
else
{ f=sqrt(-disc)/(2*a);
printf("x1=%8.4f+%8.4fi\n",e,f);
printf("x2=%8.4f-%8.4fi\n",e,f);
}
}
return 0;
}
不晓得为什么还是运行有错误

#include<stdio.h>
#include<math.h>
int main ()
{ double a,b,c,disc,e,f;
printf("please input \na=\nb=\nc=\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(fabs(a)<=1e-6)
printf("The equation is not a quadratic\n");
else
{
disc=b*b-4*a*c;
e=-b/(2*a);
if(fabs(disc)<1e-6)
printf("x1=x2=%f\n",e);
else if(disc>0)
{
f=sqrt(disc)/(2*a);
printf("x1=%8.4f\n",e+f);
printf("x2=%8.4f\n",e-f);
}
else
{ f=sqrt(-disc)/(2*a);
printf("x1=%8.4f+%8.4fi\n",e,f);
printf("x2=%8.4f-%8.4fi\n",e,f);
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答