Java程序:人民币面额最少纸币硬币划分
Java程序:人民币面额最少纸币硬币划分
本程序使用Java编写,输入一个人民币面额值(单位为元),按照人民币的面额划分,输出所需的最少数量的纸币和硬币。
示例输入: 56.5
示例输出: 50元纸币1张,5元纸币1张,1元硬币1枚,5角硬币1枚
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print('请输入人民币面额:');
double money = sc.nextDouble();
int[] bills = {100, 50, 20, 10, 5, 1};
int[] coins = {50, 10, 5, 1};
int[] billCounts = new int[6];
int[] coinCounts = new int[4];
int remaining = (int)(money * 100);
for (int i = 0; i < bills.length; i++) {
billCounts[i] = remaining / (bills[i] * 100);
remaining %= bills[i] * 100;
}
for (int i = 0; i < coins.length; i++) {
coinCounts[i] = remaining / coins[i];
remaining %= coins[i];
}
System.out.print('需要的纸币和硬币数量为:');
for (int i = 0; i < bills.length; i++) {
if (billCounts[i] > 0) {
System.out.print(bills[i] + '元纸币' + billCounts[i] + '张,');
}
}
for (int i = 0; i < coins.length; i++) {
if (coinCounts[i] > 0) {
if (coins[i] >= 10) {
System.out.print(coins[i]/10 + '角硬币' + coinCounts[i] + '枚,');
} else {
System.out.print(coins[i] + '分硬币' + coinCounts[i] + '枚,');
}
}
}
}
}
原文地址: https://www.cveoy.top/t/topic/nzn9 著作权归作者所有。请勿转载和采集!