1e-6
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,disc,x1,x2,realpart,imagpart;
scanf( "%f,%f,%f ",&a,&b,&c);
printf( "The equation ");
if(fabs(a) <=1e-6)
printf( "is not a quadratic\n ");
else
{
disc=(b*b-4*a*c);
if(fabs(disc) <=1e-6)
printf( "has two equal roots:%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.4fand%8.4f\n ",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf( "has complex roots:\n ");
printf( "%8.4f+%8.4fi\n ",realpart,imagpart);
printf( "%8.4f-%8.4fi\n ",realpart,imagpart);
}
}
}
问一下各位~代码中的1E-6是什么意思
谢谢你们了
[解决办法]
就是1乘以10的-6次方。
[解决办法]
就是1乘以10的-6次方。
[解决办法]
10^(-6)
也就是0.000001
计算机中的浮点数没法和0比较, 这个里面的
fabs(a) <=1e-6
如果用数学描述的话应该是和
a==0.0
等价的