用C語言求一元二次方根(包括虛根)
阿新 • • 發佈:2018-12-11
#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; }