我在我的程序中有这个代码:(我为调试目的包含了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 ......我在那里放置的公式我做错了什么?
毫无疑问,你有a并b定义为整数,导致整个公式在整数数学中完成.将它们定义为浮点数或执行以下操作:
constant[0] = (-b / (2.0 * a));
Run Code Online (Sandbox Code Playgroud)
这会强制数学以浮点方式完成.