题解 | 计算一元二次方程
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include<math.h>
int main() {
float a, b,c,m,n1,n2;
while(scanf("%f %f %f", &a, &b,&c)!=EOF){
m=b*b-4*a*c;
n1=(-b+sqrt(m))/(2*a);
n2=(-b-sqrt(m))/(2*a);
if(a==0)
printf("Not quadratic equation");
else{
if(m==0){
if(n1==0)
printf("x1=x2=0.00\n");
else
printf("x1=x2=%.2lf\n",n1);
}
else if(m>0)
printf("x1=%.2lf;x2=%.2lf\n",n2,n1);
else
printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",-b/(2*a),(sqrt(-m)/(2*a)),-b/(2*a),(sqrt(-m)/(2*a)));
}
}
return 0;
}
真的好绕,有好多小细节。