编写一个程序,要求用户输入一个美元数量C++(取值范围内正整数),然后显示出如何用最少的20美 元、10美元、5美元和1美元来付款:
时间: 2024-10-15 12:24:15 浏览: 22
基于C++,编写一个程序求一组正整数的模 适合新手
在C++中编写这样一个程序,你可以使用循环和条件判断来解决这个问题。首先,我们需要获取用户的输入,并检查它是否为正整数。然后我们将计算出最小的组合,尽量优先使用大面额的纸币。
下面是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int dollar_amount;
// 获取用户输入并验证有效性
cout << "请输入一个美元金额(正整数): ";
cin >> dollar_amount;
while (cin.fail() || dollar_amount <= 0) {
cin.clear(); // 清除输入错误标志
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误输入
cout << "无效输入,请输入一个正整数: ";
cin >> dollar_amount;
}
// 定义纸币面额数组
const int denominations[] = {20, 10, 5, 1};
int remaining_dollars = dollar_amount;
// 打印付款组合
cout << "付款组合:\n";
for (int i = 0; i < sizeof(denominations) / sizeof(denominations[0]); ++i) {
while (remaining_dollars >= denominations[i]) {
cout << denominations[i] << "$ ";
remaining_dollars -= denominations[i];
}
}
return 0;
}
```
阅读全文