新手求助!!!
求一元二次方程ax2+bx+c=0根,a,b,c由键盘输入,请判断当b2-4ac>=0时,才有相关实数解,当b2-4ac<0时,输出无实数解。我是C语言新手,结果输出来不对,不知道哪里错了。结果算出来两个都是-0.52
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>=0)
{
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
}
else
printf("无实数解");
}