求解一元二次方程
#include <stdio.h>
#include<math.h>
int main()
{
float a,b,c,dt,dt0,x1,x2,p,q;
printf("请输入一元二次方程按照降幂次序的各项系数");
scanf("%f%f%f",&a,&b,&c);
dt0=b*b-4*a*c;
if(dt0>=0)
{
dt=sqrt(dt0);
p=-b/2*a;
q=(1/2*a)*dt;
x1=p+q;x2=p-q;
printf("方程的解x1=%f,x2=%f",x1,x2);
}
else(printf("此方程无实数解"));
return 0;
}
有什么毛病吗?
当解是小数或者分数时,输出就不对了
我试了个解是1/2的,结果它输出个8
萌新求解