C++硬币找零程序
本文将介绍用C++编写的硬币找零程序,可以根据用户输入的价格和支付金额,计算出需要找回的最少的硬币数量及其面值,并输出到控制台上。
首先我们需要知道找零的算法:贪心算法。该算法的核心思想是,在每次找零时,尽可能多地选择面值大的硬币。由于硬币必须是整数,因此可以先将硬币面值按照从大到小的顺序排列,然后依次尝试每个面值的硬币,一旦可以使用当前的硬币,就将其加入结果中,并将金额减去相应的硬币面值,直到金额为0或者无法再使用硬币为止。
下面是完整的源代码实现:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> coins{25, 10, 5, 1}; // 硬币面值数组
int price, pay; // 输入的价格和支付金额
cout << "请输入价格:";
cin >> price;
cout << "请输入支付金额:";
cin >> pay;
int change = pay - price; // 计算需找零金额
vect