我的程序中有这段代码:(出于调试目的,我包含了 cout 语句)
cout << "b: " << b << "\na: " << a;
constant[0] = (-b / (2 * a));
cout << "\nconstant: " << constant[0] << endl;
我得到的输出是:
b: -4
a: 3
constant: 0
而我试图使常量 [0] 等于 -(-4)/(2 * 3) 或 0.6666...我放在那里的公式有什么问题?
毫无疑问,您拥有a
并b
定义为整数,导致您的整个公式以整数数学形式完成。将它们定义为浮点数或执行以下操作:
constant[0] = (-b / (2.0 * a));
这迫使数学以浮点数完成。
是常数integer
吗?是a
和b
整数吗?
cout << "b: " << b << "\na: " << a;
constant[0] = (-b / (2.0 * a));
cout << "\nconstant: " << constant[0] << endl;
整数除法和/或变量类型是问题所在。
你的常数 2 是一个 int,使它成为 2.0。
确保您的变量 a 和 b 也是双精度数或浮点数?