一元二次方程问题
#include <stdio.h>#include <math.h>
int main(void)
{
float a,b,c,dert,x,y;
printf("请输入一元二次方程的abc:\n");
scanf("%f%f%f",&a,&b,&c);
dert=b*b-4*a*c;
if (dert>0)
{
x=((-b)+sqrt(dert))/2/a;
y=((-b)-sqrt(dert))/2/a;
printf("方程%f*x^2+%f*x^2+%f=0的解为:\n\tx1=%f;\n\tx2=%f;\n",a,b,c,x,y);
}
else
if (dert=0)
{
x=(-b)/2/a;
printf("方程%f*x^2+%f*x^2+%f=0的解为:\n\tx1=x2=%f\n",a,b,c,x);
}
else
printf("无解!!\n");
return 0;
}
我输入1 2 1
结果为:无解!!
这是为什么??
输入1 2 1 应该是dert=0,应该有结果啊