import java.util.Scanner;
/*
* 换零钱
*/
public class Main {
// 面额的种类数
public static int MAX = 10;
// 面额值
public static double[] value = {10000,5000,2000,1000,500,200,100,50,20,10};
// 记录每种面额可换的张数
public static int[] num = new int[MAX];
public static void main(String[] args) {
System.out.println("请输入要换的数值:");
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
sc.close();
exchange(a * 100);
System.out.println("找零:");
for(int i = 0; i < MAX; i++) {
if(num[i] > 0) {
System.out.println("面值:" + value[i] / 100 + "一共需要" + num[i] + "张!");
}
}
}
private static void exchange(double a) {
int i;
// 找到小于a的最大面额
for(i = 0; i < MAX; i++) {
if(a > value[i]) {
break;
}
}
while(a > 0 && i < MAX) {
if(a >= value[i]) {
a -= value[i];
num[i] ++;
} else if(a < 10 && a > 5) {
num[MAX - 1]++;
break;
} else {
i++;
}
}
}
}
换零钱
最新推荐文章于 2024-02-16 22:51:42 发布