帮忙简单的二次方程

来源:百度知道 编辑:UC知道 时间:2024/05/10 17:58:14
就是最简单的那种
输入三a b c

求x1 x2

#include<math.h>
main()
{
float a,b,c;//方程系数
float r_x1,i_x1,r_x2;//方程的解的实部与虚部
float t;//判别式
printf("please input three numbers for a,b,c\n");
scanf("%f\n%f\n%f",&a,&b,&c);
printf("%fx^2+%fx+%f=0\n",a,b,c);
if(a==0&&b==0)
printf("ERROR!\n");
else if(a==0&&b!=0)
printf("x=%f",-c/b);
else
{
t=b*b-4*a*c;
if(t<0)
{
r_x1=-b/(2*a);
r_x2=r_x1;
i_x1=sqrt(-t)/(2*a);
printf("x1=%f+i%f\nx2=%f-i%f",r_x1,i_x1,r_x2,i_x1);
}
else if(t==0)
{
r_x1=-b/(2*a);
printf("x1=x2=%f\n",r_x1);
}
else
{
r_x1=(-b+sqrt(t))/(2*a);
r_x2=(-b-sqrt(t))/(2*a);
printf("x1=%f\nx2=%f",r_x1,r_x2);
}
}
}