数据结构 C语言(2)求一元二次方根(包括虚根)

#include <stdio.h>
#include <math.h>
float a,b,c,result;
void underZero(){
     float part1 = (-1)*b/(2*a);
     float part2 = sqrt((-1)*(b*b-4*a*c))/(2*a);
     printf("x1=%.3f+%.3fi x2=%.3f+%.3fi\n",part1,part2,part1,part2);
}
void equalsZero(){
     float root = ((-1)*b+sqrt(b*b-4*a*c))/(2*a);
     printf("x1=%.3f x2=%.3f\n",root,root);

void aboveZero(){
     float x1 = ((-1)*b+sqrt(b*b-4*a*c))/(2*a);
     float x2 = ((-1)*b-sqrt(b*b-4*a*c))/(2*a);
     printf("x1=%.3f x2=%.3f\n",x1,x2);
}
void check(){
     if(result < 0)
            underZero();
     else if(result == 0)
            equalsZero();
else
   aboveZero();
}
int main()
{
   scanf("%f%f%f",&a,&b,&c);
  result = b*b - 4*a*c;
  check();
  return 0;
}

猜你喜欢

转载自blog.csdn.net/Stephanie17395/article/details/82822070