换零钱问题也是常考的一种题型。给定一个数,将其换成最少数量的零钱。代码如下:
#include <iostream>
using namespace std;
void main() {
int change;
int left, i;
int arr[4] = { 10, 5, 2, 1 };
i = 0;
while (1) {
left = 0;
//input money
printf("money:\n");
scanf("%d", &change);
//complite
for (i = 0; i < 4; i++) {
while (change >= arr[i])
{
change -= arr[i];
left++;
}
}
printf("times=%d\n", left);
}
}
上机笔试系类教程:
【上级笔试之一】数据输入
【上机笔试之二】冒泡排序
【上机笔试之三】快速排序
【上机笔试之四】快速排序(2)
【上机笔试之五】计算两个日期的差值
【上机笔试之六】Hash应用
【上机笔试之七】Hash应用(2)-从大到小顺序输出其中前m大的数
【上机笔试之八】二分法查找
【上机笔试之九】贪心算法-换零钱
【上机笔试之十】栈应用-扣号匹配