编写c语言程序,求解一元二次方程ax²+bx+c=0,系数a,b,c用键盘输入

如题所述

#include<stdio.h>
#include<math.h>

int main()
{
double a,b,c,x1,x2,d;

scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("恒等式:0+0+0=0\n");
}
else
{
printf("输入错误,不能构成等式!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.2lf\n",0==-(double)c/b ? 0 : -(double)c/b);
}

}
else
{
d=b*b-4*a*c;
if(d<0)
{
printf("x1=%.2lf+%.2lfi\nx2=%.2lf-%.2lfi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.2lf\n",(-b)/(2.0*a));
}
else
{
x1=(-b+sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.2lf\nx2=%.2lf\n",x1,x2);
}
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答