题解 | #计算一元二次方程#
计算一元二次方程
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;
}

查看13道真题和解析