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