漂浮不起作用

时间:2016-08-04 21:27:40

标签: floating-point

我不知道浮动在执行此程序时没有打印确切值的原因。

#include <iostream>
using namespace std;

int main(){

int a, b;
float x;

cout << "Input the value for a: ";
cin >> a;
cout << "Input the value for b: ";
cin >> b;

x = - b / a;

printf("The value of x is: %.2f",x);
//cout << "The value of x is: " << x;

}

我想至少当我输入2为a而10为b时,结果应为0.20, 该程序仅显示0.00

2 个答案:

答案 0 :(得分:3)

您需要将操作数转换为浮点数。

    ex: x = (float)a / (float)b

点击此处了解更多信息:

Dividing two integers to produce a float result

答案 1 :(得分:0)

首先输出你期待我认为是错误的。

应该是-5.00 -10/2 = -5。和%.2f =&gt; -5.00

假设。如果a = 10且b = 2,那么根据您的代码

 `x= - 2/10` 

这应该给出

 x = 0. Notice the `\`.

由于您使用%.2f进行打印,因此会提供系统提供的0.00

我希望这能澄清你的疑问。