青亭浅 2023-03-05 09:38 采纳率: 88.2%
浏览 32
已结题

关于#double#的问题,如何解决?

题目要求
编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。

输入格式:
47.63

输出格式:
4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分
输入样例:
47.63
输出样例:
4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        double a=input.nextDouble();
        int b=(int)a/10;   //十元
        int c=((int)a%10)/5;  //五元
        int d=0;      //一元
        if(c==0){
            d=((int)a%10);
        }
        else {
            d=((int)a%10)-5;
        }
        int e=(int)(a*100-b*1000-c*500-d*100);
        int f=(int)e/50;    //五角
        int j=((int)e%50)/10;  //一角
        int h=((int)e%50)%10/2;  //贰分
        int i= (int) (e-f*50-j*10-2*h);//壹分
        System.out.println(b+" 张十元");
        System.out.println(c+" 张五元");
        System.out.println(d+" 张一元");
        System.out.println(f+" 个五角");
        System.out.println(j+" 个一角");
        System.out.println(h+" 个贰分");
        System.out.print(i+" 个壹分");;
    }
}

这个代码错在那,提交结果部分正确

img

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-05 12:40
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月2日
  • 已采纳回答 3月25日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 TeleScan不能修改bar
  • ¥100 请问我基于逐飞库写的这个有关于mp u6050传感器的函数,为什么输出的值是固定的?
  • ¥15 hadoop中启动hive报错如下怎么解决
  • ¥15 如何优化QWebEngineView 加载url的速度
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 使用Ant Design Pro vue的时候,使用环境变量的时候,构建报错是什么原因
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)