题解 | #计算一元二次方程#
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h> #include <math.h> int main() { double a=0,b=0,c=0; double x1=0,x2=0,o=0; double shi=0,xu=0; while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF) { o=b*b-(4*a*c); x1=((-b)+sqrt(o))/(2*a); x2=((-b)-sqrt(o))/(2*a); shi=-b/(2*a); xu=sqrt(-o)/(2*a); if(shi==-0.00) { shi=0.00; } if(xu==-0.00) { xu=0.00; } if(x1==-0.00) { x1=0.00; } if(x2==-0.00) { x2=0.00; } if(a==0) { printf("Not quadratic equation\n"); } else if(o==0) { printf("x1=x2=%.2lf\n",x1); } else if(o>0) { printf("x1=%.2lf;x2=%.2lf\n",x2,x1); } else if(o<0) { printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",shi,xu,shi,xu); } } return 0; }