C++ 计算C+中美元-美分组合的金额+;
我正在写一个程序,要求用户以美元和剩余美分的格式输入一个金额,目的是计算和打印与给定金额相等的最小硬币数(25美分、10美分、5美分和1美分) 以下是我的代码,我已经成功地计算了四分之一,但没有计算出其余的美分面额C++ 计算C+中美元-美分组合的金额+;,c++,C++,我正在写一个程序,要求用户以美元和剩余美分的格式输入一个金额,目的是计算和打印与给定金额相等的最小硬币数(25美分、10美分、5美分和1美分) 以下是我的代码,我已经成功地计算了四分之一,但没有计算出其余的美分面额 using namespace std; int main() { float dollars, cents; int leftover; float amount; int numberQuarters, numberDimes, numberNi
using namespace std;
int main() {
float dollars, cents;
int leftover;
float amount;
int numberQuarters, numberDimes, numberNickels, numberPennies;
cout << "Please enter your amount in the form of dollars and cents separated by a space:" << endl;
cin >> dollars >> cents;
cout << dollars << " dollars and " << cents << " cents are: " << endl;
amount = dollars + cents/100;
leftover = amount;
numberQuarters = (amount / 25)*100;
leftover = leftover % 25;
numberDimes = (leftover/10)*100;
leftover = leftover % 10;
numberNickels = (leftover/5)*100;
leftover = leftover % 5;
numberPennies = leftover;
cout << numberQuarters << "Quarters, " << numberDimes << "Dimes " << numberNickels << "Nickels " << numberPennies << "Pennies" << endl;
return 0;
}
使用名称空间std;
int main(){
浮动美元,美分;
int剩余物;
浮动金额;
整数四分之一、整数倍、整数倍、整数倍;
美元>>美分;
cout您可以遵循这个逻辑,将美元乘以100,而不是将美分除以100,这样您只需计算美分,计算起来容易得多,并且您将消除精度错误问题
#include <iostream>
using namespace std;
int main() {
int dollars, cents;
int leftover;
int amount;
int numberQuarters, numberDimes, numberNickels, numberPennies;
cout << "Please enter your amount in the form of dollars and cents separated by a space:" << endl;
cin >> dollars >> cents;
cout << dollars << " dollars and " << cents << " cents are: " << endl;
amount = (dollars*100) + cents;
leftover = amount;
numberQuarters = (amount / 25);
leftover = leftover % 25;
numberDimes = (leftover/10);
leftover = leftover % 10;
numberNickels = (leftover/5);
leftover = leftover % 5;
numberPennies = leftover;
cout << numberQuarters << "Quarters, " << numberDimes << "Dimes " << numberNickels << "Nickels " << numberPennies << "PenIf your inputs are in integer then ynies" << endl;
return 0;
}
#包括
使用名称空间std;
int main(){
整数美元,美分;
int剩余物;
整数金额;
整数四分之一、整数倍、整数倍、整数倍;
美元>>美分;
当输入明显是整数时,你为什么要使用float
?当我使用int
时,结果是16个四分之一,0个一角0个五分镍币4个五分之一
,这更不正确@paulmckenzie,正如答案所示,这是因为你没有意识到你应该用美分而不是美元工作。底线是当给出一个基于整数的问题时,在这样的问题中引入浮点变量几乎总是错误的。我感谢你的建议,我试图将美元与美分匹配,我想象这会使方程变得复杂,因为我必须引入浮点。谢谢