PTA-一元二次方程

#include

int main()

{
  double a,b,c,d,e,x1,x2,x3,f;

  scanf("%lf%lf%lf",&a,&b,&c); /*思路:讨论 a是否等于0,然后再讨论b是否等于0,则是在讨论c,易错点:x1,x2必须在a!=0的情况*/

  d=b*b-(4*a*c);                   

  e=-b/(2*a);

  x1=e+(sqrt(d)/(2.0*a));

  x2=e-(sqrt(d)/(2.0*a));

  f=sqrt(-d)/(2*a);

  x3=-c/b;

    if(a==0)

        if(b==0)

            if(c==0)

                printf("Zero Equation");

            else

                printf("Not An Equation");

        else

            printf("%.2lf",x3);
    else

    if (d>0)

    printf("%.2lf\n%.2lf",x1,x2);

  else if(d==0)

    printf("%.2lf",x1);

  else if(d<0)

        if(e==0.0)

    printf("0.00+%.2lfi\n0.00-%.2lfi",f,f);

        else

    printf("%.2lf+%.2lfi\n%.2lf-%.2lfi",e,f,e,f);

    return 0;
}

 

你可能感兴趣的:(小窍门)