#include<stdio.h>
void main()
{ float a,b,c,x1,x2,disc;
printf("input a b c:");
scanf(“%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6)
printf("The question is not a quadratic");
else
{ disc=b*b-4*a*c;
if(disc<0)
printf("The question has not real root");
else
if(fabs(disc)<1e-6)
printf("The question has two equal roots: %8.4f",-b/(2*a));
else
{ x1=(-b+sqrt(disc))/(2*a);
x2=(-b+sqrt(disc))/(2*a);
printf("The question has distinct real roots: %8.4f,%8.4f,x1,x2");
}
}
}
这个程序应该没问题的,但是我输入了1,-2,1。应该是能得出结果的,但显示The question has not real root,试了个1,-2,-4 。还是这样,是不是哪里出错了。