1. 程式人生 > >用C語言求一元二次方根(包括虛根)

用C語言求一元二次方根(包括虛根)

#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; }