编写一个程序,将总找零金额作为整数输入,输出使用最少的硬币,每行一种硬币类型。硬币的种类有美元、25美分、一角硬币、镍币和便士。适当地使用单数和复数的硬币名称,如1便士和1便士。两便士。
public void run(){
int change;
cout << "";
cin >> change;
if (change <= 0) {
cout << "No change" << endl;
return 0;
}
int dollars = change / 100;
change %= 100;
if (dollars > 0) {
cout << dollars << (dollars == 1 ? " Dollar" : " Dollars") << endl;
}
int quarters = change / 25;
change %= 25;
if (quarters > 0) {
cout << quarters << (quarters == 1 ? " Quarter" : " Quarters") << endl;
}
int dimes = change / 10;
change %= 10;
if (dimes > 0) {
cout << dimes << (dimes == 1 ? " Dime" : " Dimes") << endl;
}
int nickels = change / 5;
change %= 5;
if (nickels > 0) {
cout << nickels << (nickels == 1 ? " Nickel" : " Nickels") << endl;
}
int pennies = change;
if (pennies > 0) {
cout << pennies << (pennies == 1 ? " Penny" : " Pennies") << endl;
}
return 0;
}
1条答案
按热度按时间eeq64g8w1#
我一直在研究同样的编码。我遇到了同样的问题,似乎我的最后两行代码--一行代码标识user_total是什么,然后代码底部的exact_change函数调用没有缩进足够远。当我纠正了,我可以得到10/10。
我的代码的结尾看起来像这样: