c语言里面类似sqrt,pow等函数都是double类型的,用float会出错,可以sqrt(double(deta))而且你的调试数字也有问题 , 根 号下(4-12)?建议可以在开始把这类数字先排除掉,if(b*b-4*a*c<0)print("无实数解")
你好,在C语言中浮点运算一般采用double,如果采用float会有精度丢失的问题。 q = sqrt(deta)/2*a; 你这行貌似写错了。祝你生活愉快。