请编写代码替换横线,不修改其它代码,实现以下功能。将一笔零钱兑换成1分、2分、5分的硬币,要求每种硬币至少1枚,从键盘上输入零钱的总数(整数,单位为分),显示这笔零钱可有的兑换
时间: 2024-10-23 07:10:00 浏览: 22
```java
import java.util.Scanner;
public class CoinChange {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入零钱总数(整数,单位为分): ");
int money = scanner.nextInt();
// 定义计数器数组,表示1分、2分、5分硬币的数量
int[] coins = {0, 0, 0};
// 遍历所有可能的硬币组合,直到总金额达到或超过零钱总数
for (int i = 0; i <= money / 5; i++) { // 5分硬币
for (int j = 0; j <= (money - 5 * i) / 2; j++) { // 2分硬币
int remaining = money - 5 * i - 2 * j;
if (remaining >= 0 && remaining % 1 == 0) { // 1分硬币
coins[0] += remaining; // 计算剩余的1分硬币
}
}
}
// 输出兑换方案
System.out.println("可以兑换的方案:");
System.out.println("5分硬币:" + coins[0]);
System.out.println("2分硬币:" + coins[1]);
System.out.println("1分硬币:" + coins[2]);
scanner.close();
}
}
```
阅读全文