C++ C++;这个二次公式有什么问题?

C++ C++;这个二次公式有什么问题?,c++,C++,在我的书中,它向我提出了以下问题,这是针对compsci-1的 这个二次公式有什么问题 x1 = (-b - sqrt(b * b - 4 * a * c)) / 2 * a; x2 = (-b + sqrt(b * b - 4 * a * c)) / 2 * a; 您的代码正在转换的等式是: 这当然不是二次方程的解。您需要此方程的解: 有什么区别?在第一个例子中,你计算分子,然后除以2,再乘以a。这就是您的代码所做的。在第二个例子中,你计算分子,然后计算分母,最后除以它们 因此,对于其

在我的书中,它向我提出了以下问题,这是针对compsci-1的

这个二次公式有什么问题

x1 = (-b - sqrt(b * b - 4 * a * c)) / 2 * a; 
x2 = (-b + sqrt(b * b - 4 * a * c)) / 2 * a;

您的代码正在转换的等式是:

这当然不是二次方程的解。您需要此方程的解:

有什么区别?在第一个例子中,你计算分子,然后除以2,再乘以a。这就是您的代码所做的。在第二个例子中,你计算分子,然后计算分母,最后除以它们

因此,对于其他变量:

num1 = -b - sqrt(b * b - 4 * a * c);
num2 = -b + sqrt(b * b - 4 * a * c);
den = 2 * a;

x1 = num1 / den;
x2 = num2 / den;
这当然可以写成:

x1 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
x2 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);

为了在除法之前计算分母,必须插入括号。正如@atru.

在评论中所建议的,您刚才提到了公式,但实际问题是什么?你有编译错误吗?你需要括号<代码>x1=(-b-sqrt(b*b-4*a*c))/(2*a)以及一些关于优先级和关联性的阅读。不,这是书中提出的问题,我需要将其作为练习。老师要求我们提供.cpp文件和它的屏幕截图。然后认真阅读关于优先级和关联性的内容,并给出一些简单的例子。这些是你需要了解的基本情况。这甚至不复杂,只要你理解一些简单的例子,你就会明白。如果你学过代数,你也应该理解复数根的概念。你会如何处理这种情况?