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] + '枚,');
                }
            }
        }
    }
}
Java程序:人民币面额最少纸币硬币划分

原文地址: https://www.cveoy.top/t/topic/nzn9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录