我正在使用以下代码来计算和显示C++中数学游戏的最终得分.
int score = (correctNumber / 3) * 100;
cout << score;
Run Code Online (Sandbox Code Playgroud)
变量"correctNumber"始终是0到3之间的值.但是,除非"correctNumber"= 3,否则变量"score"总是等于"0".当"correctNumber"等于3时,"得分"等于100.
说"correctNumber"等于2.那么"得分"不应该是67吗?这是int变量类型无法计算小数点的问题吗?
你把数学作为整数,所以1/3是0.
尝试:
int score = (100 * correctNumber) / 3
Run Code Online (Sandbox Code Playgroud)
如果你想圆
int score = (100 * correctNumber + 1) / 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |