#include <cmath>
#include <iostream>
using namespace std;
int main() {
int num, q, d, n, p;
cout << "Enter a numner between 0 to 99 for cents: ";
cin >> num;
q = num / 25;
cout << "The number of quarters: " << q << endl;
d = (num % 25 ) / 10;
cout << "The number of dimes: " << d << endl;
n = (num % 10) / 5;
cout << "The number of nickels: " << n << endl;
p = (num % 5) / 1;
cout << "The number of pennies: " << p << endl;
return 0;
}
我輸入了78,結(jié)果是:25美分:3美分:0美分:1便士:3
一切都是正確的,除了鎳幣的價(jià)值。我不知道我在五分硬幣的計(jì)算上做錯了什么。
您需要在每次計(jì)算后更新
num
,以將其金額減去您剛剛計(jì)算的硬幣的價(jià)值,以便對剩余的調(diào)整后的金額進(jìn)行下一次計(jì)算。按照你現(xiàn)在的做法,你計(jì)算的是原始金額的五分硬幣和便士的數(shù)量,而不是調(diào)整后的金額,這就是為什么你得到了錯誤的結(jié)果。
IOW,在您計(jì)算了四分之一硬幣的數(shù)量后,在計(jì)算一角硬幣的數(shù)量時忽略了四分之二硬幣的價(jià)值,但在計(jì)算五分硬幣的數(shù)量之前,您沒有隨后忽略一角硬幣價(jià)值,也沒有在計(jì)算硬幣的數(shù)量前忽略五分硬幣價(jià)值。
請嘗試以下操作:
Online Demo