求助,这个程序不知道错在哪
//求ax2+bx+c=0方程的解#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,disc,x1,x2,realpart,imagpart;
printf("请输入a,b,c的值:\n");
scanf("%f,%f,%f",&a,&b,&c);
printf("The equation ");
if(fabs(a)<=1e-6) //相当于=0
printf("is not a quadratic\n");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6) //相当于=0
printf("has two equal roots:%8.4fand %8.4f\n",-b/(2*a));
else
if(disc>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(disc)/(2*a);
printf("此方程有2个复解:\n");
printf("%8.4f+%8.4fi\n",realpart,imagpart);
printf("%8.4f-%8.4fi\n",realpart,imagpart);
}
}
}
D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(20) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(21) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
D:\vc\vc\MSDev98\MyProjects\t1\t1.1.c(27) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data
运行每次都有这几个警告,运行结果也不对,我找 了好多资料就是不知道错在哪啊,求助!!!感激不尽!