如何修复此公式错误?

时间:2010-02-23 07:45:51

标签: c++ formula

我的程序中有这个代码:(我为调试目的包含了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 ...... 我把这个公式放在那里我做错了什么?

3 个答案:

答案 0 :(得分:9)

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

constant[0] = (-b / (2.0 * a));

强制数学以浮点形式完成。

答案 1 :(得分:2)

常数是integer吗? ab是否为整数?

cout << "b: " << b << "\na: " << a;
constant[0] = (-b / (2.0 * a));
cout << "\nconstant: " << constant[0] << endl;

整数除法和/或变量类型是个问题。

答案 2 :(得分:1)

你的常数2是一个int,使它成为2.0。

确保您的变量a和b也是双倍或浮点数?