#include
#include
intmain()
{
voidroot2(doublea,doubleb,doubledisc);//定义方程有两个根时的函数
voidroot1(doublea,doubleb);//定义方程只有一个根时的函数
voidroot0();//定义方程没有实数解是的函数
doublea,b,c,disc;
printf("请输入a,b,c的值:");
scanf("%lf%lf%lf",&a,&b,&c);
if(a==0)//一元二次方程二次项系数不为0
{
printf("dataerrorn");
}
else
{
disc=b*b-4*a*c;
if(disc>0)
root2(a,b,disc);
elseif(disc==0)
root1(a,b);
else
root0();
}
return0;
}
voidroot2(doublea,doubleb,doubledisc)
{
doublex1,x2;
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("x1=%lfnx2=%fn",x1,x2);
}
voidroot1(doublea,doubleb)
{
doublex;
x=(-b)/(2*a);
printf("x1=x2=%lfn",x);
}
voidroot0()
{
printf("方程没有实数解n");
}