从键盘上输入意,见物品的价格(范围在0.10-5.00元),假设用户支付了一张5元纸币,请列出一种找零的方案,是的纸币及硬币的个数最少。入3.68远,应为两元一张,一元一张,五角一个,一角一个,五分一个,二分一个,一份一个。
完整的程序。谢了。
最佳答案
从键盘上输入一件物品的价格(范围在0.10-5.00元),假设用户支付了一张5元纸币,请列出一种找零的方案,并且纸币及硬币的个数最少。如3.68元,应为两元一张,一元一张,五角一个,一角一个,五分一个,二分一个,一分一个。
 有几个错别字。。。。。。。。
下面代码是参考别人的。。。。
import java.io.*;
import java.util.Scanner;
public class zhaoling
{
    public static void main(String args[])
      {
        Scanner in=new Scanner(System.in);
         double a=in.nextDouble();
   System.out.println("物品价格为:"+a);
     double b=(5.00-a);
   System.out.println("找零:"+b);
     int x1;
      x1=(((int)b-((int)b%2)))/2;
   System.out.println("两元 :"+x1);
      int x2;
      x2=((int)b-x1*2);
   System.out.println("一元:"+x2);
     int x3;
      double x_3=(b-x1*2-x2)*10;
      x3=(((int)x_3-((int)x_3%5)))/5;
   System.out.println("五角:"+x3);
      int x4;
      x4=((int)x_3-x3*5);
   System.out.println("一角:"+x4);
      int x5;
      double x_y=(x_3-x3*5-x4)*10;
     
       x5=(((int)x_y-((int)x_y%5)))/5;
   System.out.println("五分:"+x5);
      int x6;
       x6=(((int)(x_y-x5*5)-((int)x_y-x5*5)%2))/2;
   System.out.println("两分:"+x6);
      int x7;
       x7=(int)x_y-x5*5-x6*2;
   System.out.println("一分:"+x7);
      }
}
 判断范围在0.10-5.00元代码自己写(这个个应该会吧),其实统一化成分,即以分为单位更方便,好像要用switch语句和递归,忘了,好长时间没看了。。。。。。