如何编程计算一元二次方程的根

问题描述:

如何编程计算一元二次方程的根
从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根,当a=0时,输出该方程不是一元二次方程,当a不等于0时,分b2-4ac>0,b2-4ac

#include"stdio.h"
#include"math.h"
main()
{
float a,b,c,d[8];
char x,y;
\x05a=b=c=d[8]=0;
printf("请输入a、b、c的值:\n");
scanf("%3f%3f%3f",&a,&b,&c);
d[0]=b*b-4*a*c;
printf("%.3f",d[0]);
if(a==0)
printf("该方程不是一元二次方程!");
else if(d[0]>0)
{
d[1]=(-b+sqrt(d[0]))/(2*a);
d[2]=(-b-sqrt(d[0]))/(2*a);
printf("该一元二次方程的解为:%.3f或%.3f\n",d[1],d[2]);
}
else if(d[0]==0)
{
d[3]=-b/(2*a);
printf("该一元二次方程的解为:%.3f\n",d[3]);
}
else
{
d[4]=-b/(2*a);
d[5]=sqrt(fabs(d[0]))/(2*a);
printf("该一元二次方程的解为:%.3f-%.3fi或%.3f-%.3fi\n",d[4],d[5],d[4],d[5]);
}
}