求助啊QAQ,c代码为什么经常出现这种输入很小的输,输出结果却很大(初学小白)
程序代码:
#include<stdio.h>
#include<math.h>
void main()
{ float a, b, c, disc, x1, x2, p, q;
printf(“请输入一元二次方程根的系数(a,b,c):”);
scanf("%f,%f,%f",& a,& b,& c);
if (fabs(a) <= 1e-6)
if (fabs(b) > 1e-6)
printf(“方程的根为:%f\n”, -c / b); else if (fabs© <= 1e-6)
printf(“此方程有无穷解\n”);
else
printf(“此方程无解\n”);
else
{ disc = bb - 4 * ac;
if (fabs(disc) <= 1e-6) printf(“x1=x2=%7.2f\n”, -b / (2 * a));
else if (disc > 1e-6)
{ x1 = (-b + sqrt(disc) / (2 * a));
x2 = (-b - sqrt(disc) / (2 * a));
printf(“x1=%7.2f,x2=%7.2f\n”, x1, x2); } else
{
p = -b / (2 * a);
printf(“x1=%7.2f+%7.2fi\n”, p, q); printf(“x2=%7.2f-%7.2fi\n”, p, q);
}
}
}
运行结果:
其中x1、x2怎么这么大?