题解 | 计算一元二次方程
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include<math.h>
int main() {
float a,b,c;
while(scanf(" %f %f %f",&a,&b,&c)!=EOF){
if(a==0){
printf("Not quadratic equation\n");
}
else if((b*b-4*a*c)>0){//判断有几个根
float x1=0;
float x2=0;//两个根
float i=-b+sqrt(b*b-4*a*c);
x1=i/(2*a);//求根
float j=-b-sqrt(b*b-4*a*c);
x2=j/(2*a);
printf("x1=%.2f;x2=%.2f\n",x2,x1);
}
else if((b*b-4*a*c)==0){//判断有几个根
float x1=0;
float x2=0;//两个根
float i=-b+sqrt(b*b-4*a*c);
x1=i/(2*a);//求根
if(x1==0){
x1=0;
}
printf("x1=x2=%.2f\n",x1);
}
else if(b*b-4*a*c<0){
float x1=0;
float x2=0;
float zhen=-b/(2*a);
float xu=sqrt(4*a*c-b*b)/(2*a);
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",zhen,xu,zhen,xu);
}
}
return 0;
}

