一元二次方程结果有问题

img

p=-b/(2.0*a)
由于a,b是整数,所以-b/(2 * a)是整除,会丢失小数部分
另外q应该在w>=0的前提下再计算,否则会出现负数开根号的情况

把a,b,c改成float类型的就可以了

把变量都定义为float或者double会比较好!还有博主里p+q是整形和float相加了,不建议!建议把可以去掉p和q变量,直接写根的表达式,会使得逻辑比较清楚!不然你定义的x1和x2没啥太大作用最后建议写代码最好规范格式,会美观一些!