C语言浮点数:由一元二次方程解问题理解误差容错问题

求解一元二次方程ax^2+bx+c=0解分为以下几种情况
一、a=0时,当a等于0时,方程变为一元一次方程,方程解为x=-b/c
二、a≠0时分为两种情况
(1)b^2-4ac=0时方程有两个相等实根
(2)b^2-4ac>0方程有两个不等实根
(3)b^2-4ac<0方程无实根
根据一元二次方程ax^2+bx+c=0解的几种情况可知,要对x^2系数a是否为0,判别式是否为0进行判断。若将语句写为if(a==0),将a赋值为0.00000000001,进行精确计算资源将造成一定的资源浪费,因此,我们可以在误差容许范围内对方程进行求解。

C语言浮点数:由一元二次方程解问题理解误差容错问题
以上实例用宏定义了一个相对合理的误差范围。