計算錢幣(編寫程序,讀取用戶輸入的代表總金額的double值,打印表示該金額所需的最少紙幣張數和硬幣個數,打印從最大金額開始。紙幣的種類有十元、五元、一元,硬幣的種類有五角、一角、貳分、壹分。)

法1(自己的笨方法,順着往下想即可)


import java.util.*;
public class Main{
     public static void main(){
     Scanner reader = new Scanner(System.in);
     float x = reader.nextFloat();
       int a = (int)x/10;             //十元紙
       int b = ((int)x%10)/5;         //五元紙
       int c= ((int)x%10)-5;          //一元紙幣
     
       float d= x%1*100;              //小數部分乘100, 便於計算
       int e = (int)d/50;             //五角硬幣數量
       int f = ((int)d%50)/10;        //一角硬幣數量
       int g = ((int)d%50)%10/2;      //貳分硬幣數量
       int h= 2*g%2;                  //壹分硬幣數量       
       
       System.out.println(a+ "張十元");
       System.out.println(b+ "張五元");
       System.out.println(c+ "張一元");
       System.out.println(e+"個五角");
       System.out.println(f+"個一角"); 
       System.out.println(g+"個貳分");
       System.out.println(h+"個壹分"); 
       }
}

法2 啞鈴的方法
用了數組,很聰明的做法

import java.util.Scanner;
public class Main{
public static void main(String arg[]){
Scanner reader =new Scanner(System.in);
double x=reader.nextDouble();
double []y=new double [10];
System.out.println((int)(x/10)+" 張十元");
y[0]=x%10;
System.out.println((int)y[0]/5+" 張五元");
y[1]=y[0]%5;
System.out.println((int)(y[1]/1)+" 張一元");
y[2]=y[1]%1;
System.out.println((int)(y[2]/0.5)+" 張五角");
y[3]=y[2]%0.5;
System.out.println((int)(y[3]/0.1)+" 張一角");
y[4]=y[3]%0.1;
System.out.println((int)(y[4]/0.02)+" 張貳分");
y[5]=y[4]%0.02;
System.out.println((int)(y[5]/0.01)+" 張壹分");
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章