#include<stdio.h>
#include<math.h>
int main()// realpare imapart分别是复根的实部虚部
{double q,a,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("The equation");
if(fabs(a)<=1e-6)
printf("is not a quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("has two equal roots:%8.2\n",-b/(2*a));
else
if(disc>1e-6)
{x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
if(x2>x1)
{q=x2;x2=x1;x1=q;}
else printf("x1>x2");
printf("has distinct real roots:%8.2f and %8.2f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("has two complex roots:\n");
printf("%8.2f+%8.2f\t",realpart,imagpart);
printf("%8.2f-%8.2f\n",realpart,imagpart);}
}
return 0;
}
[此贴子已经被作者于2020-10-31 19:15编辑过]