如何修复此公式错误?

wro*_*ame 0 c++ formula

我在我的程序中有这个代码:(我为调试目的包含了cout语句)

cout << "b: " << b << "\na: " << a;
constant[0] = (-b / (2 * a));
cout << "\nconstant: " << constant[0] << endl;
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

b: -4
a: 3
constant: 0
Run Code Online (Sandbox Code Playgroud)

虽然我试图使常数[0]等于 - ( - 4)/(2*3),或0.6666 ......我在那里放置的公式我做错了什么?

Gab*_*abe 9

毫无疑问,你有ab定义为整数,导致整个公式在整数数学中完成.将它们定义为浮点数或执行以下操作:

constant[0] = (-b / (2.0 * a));
Run Code Online (Sandbox Code Playgroud)

这会强制数学以浮点方式完成.