用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/cKGa 著作权归作者所有。请勿转载和采集!