求一个2元方程ax2+bx+c=0的值 中定义变量由float改为double就出错
求一个2元方程ax2+bx+c=0的值#include <stdio.h>
#include <math.h>
void main()
{float a,b,c,x1,x2,dt;
printf("请输入a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
dt=sqrt(b*b-4*a*c);
x1=(-b+dt)/(2*a);
x2=(-b-dt)/(2*a);
printf("方程%fX*X+(%fX)+(%f)=0的值为:\n",a,b,c);
printf("x1=%f\tx2=%f\n",x1,x2);
}
我输入的是1 -1 -6 答案是3和-2
但我把第4行float改为double答案就出错了
咋回事呢?