要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,用C语言
时间: 2024-11-27 18:19:38 浏览: 48
C语言实验-输入4个整数,要求按由小到大(或由大到小)顺序输出。
5星 · 资源好评率100%
在C语言中,你可以通过循环结构来实现这样的功能。这里是一个简单的示例,它将遍历所有可能的组合,从最大的5分开始,递减到最小的1分,然后输出每种换法:
```c
#include <stdio.h>
void coinChange(int coins[], int coin_count, int amount) {
for (int i = coin_count - 1; i >= 0 && amount >= coins[i]; i--) {
while (amount >= coins[i]) {
printf("%d ", coins[i]); // 输出当前面值
amount -= coins[i]; // 更新剩余金额
}
printf("\n"); // 每种组合结束后换行
}
}
int main() {
int coins[] = {5, 2, 1}; // 分别为5分、2分和1分硬币
int coin_count = sizeof(coins) / sizeof(coins[0]);
int amount = 10; // 需要找零的总金额
coinChange(coins, coin_count, amount);
return 0;
}
```
这段代码会输出如何使用给定的硬币组合成10分的情况。如果你想要改变`amount`变量,就能得到其他金额的换法。
阅读全文