计算返回零而不是预期结果

Com*_*erd 1 c++ math debugging

我想做一个简单的计算:( (45/100) - (20+50)/200 )*(10+5)

我期望答案是 1.5,但是当编译程序时,它显示 0。

有人可以帮我解决这个问题吗

#include <iostream>
using namespace std;

int main()
{
   float   CivIndex = ( (45/100) -  (20+50)/200 )
                  *(10+5);

   cout<<CivIndex; // expect 1.5 but getting 0
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*nen 5

整数除法!

(45 / 100)作为整数计算时等于 0,而不是您希望的 0.45。

将分子或分母设置为浮点数以获得预期结果:

(45.0 / 100)