找零钱最佳组合 黑盒测试 c语言代码
时间: 2023-07-29 16:05:47 浏览: 130
以下是一个简单的 C 语言代码,用于找零钱最佳组合的黑盒测试:
```c
#include <stdio.h>
void find_best_change(int amount, int *change) {
int denominations[4] = {25, 10, 5, 1};
int i, count;
for (i = 0; i < 4; i++) {
count = amount / denominations[i];
amount -= count * denominations[i];
change[i] = count;
}
}
int main() {
int amount = 68;
int change[4];
find_best_change(amount, change);
printf("Best change for %d cents:\n", amount);
printf("Quarters: %d\n", change[0]);
printf("Dimes: %d\n", change[1]);
printf("Nickels: %d\n", change[2]);
printf("Pennies: %d\n", change[3]);
return 0;
}
```
该代码使用一个名为 `find_best_change` 的函数来找到最佳组合。该函数使用一个名为 `denominations` 的整数数组来存储硬币的面额,并使用一个循环来遍历该数组。对于每个面额,函数计算出需要多少个硬币,并将其存储在一个名为 `count` 的变量中。然后,函数将减去已经计算出的硬币总额,并将其存储在名为 `amount` 的变量中。最后,函数将硬币数量存储在名为 `change` 的整数数组中。
在主函数中,我们使用 `amount` 变量来存储要找零的金额,并使用 `change` 数组来存储找到的最佳组合。我们调用 `find_best_change` 函数,并在屏幕上打印出结果。
请注意,此代码没有进行任何错误检查,如输入金额是否为负数或小于硬币面额等。在实际应用中,应针对这些情况进行错误检查。
阅读全文