我正在写一个应该是一个简单的程序,用于找到理想的分配变量,以硬币的数量来衡量。我的解决方案是使用一个while循环来持续检查硬币并从客户变化中减去它们,直到变化等于0.但是,我陷入无限循环并且完全难以理解为什么。
这是我的代码:
while (change > 0.0) {
for (int i = 0; i < numberOfCoins; i++) {
if ((change - coins[i]) >= 0.0) {
change = change - coins[i];
coinsTally[i] = coinsTally[i] + 1;
break;
}
}
}
change
是从0.0
到0.99
,numberOfCoins = 6
,
和coins[numberOfCoins] = { 0.5, 0.2, 0.1, 0.05, 0.02, 0.01}