69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
/*
有两个不等的实根即d=b*b-4*a*c > 0
有两个相等的实根即d=b*b-4*a*c = 0
*/
int main()
{
float a,b,c,d,q,x1,x2;
scanf("%f %f %f", &a,&b,&c);
d = b*b-4*a*c;
//q = sqrt(d);
if(d>0)
{
q = sqrt(d); //放在这里比较合适,不然d<=0时,调用sqrt不合适
x1 = ((-1)*b+q)/2*a;
x2 = ((-1)*b-q)/2*a;
printf("x1=%f,x2=%f",x1,x2);
//} else if(d = 0)
} else if(d == 0)
{
x1 = (-1)*b/2*a;
printf("x1=x2=%f",x1);
}else
{
printf("没有实数根!");
}
return 0;
}
q = sqrt(d);