人民币金额拆分——很笨的一种方法(没完善)

从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,

要求显示100元、50元、10元、2元、1元、5角、1角、5分、1分各多少张。

(输出面额最大值:比如345.78=100*3+10*4+5*1+0.5*1+0.1*2+0.01*8)



我用了一个很笨的方法,但没完善的这个程序,金额到“角”和“分”就不知道如何解决,大神能教我一下怎样把最后的那部分完成。请在评论下指导。谢谢了


#include <stdio.h>

int main(int argc, const char * argv[]) {
    int m,yb,ws,s,w,e,y,wj,yj,wf,yf;
    printf("请输入金额:");
    scanf("%d",&m);
    yb=m/100;//100
    printf("%d\n",yb);
    ws=(m-(yb*100))/50;//50
    printf("%d\n",ws);
    s=(m-(yb*100)-(ws*50))/10;//10
    printf("%d\n",s);
    w=(m-(yb*100)-(ws*50)-(s*10))/5;//5
    printf("%d\n",w);
    e=(m-(yb*100)-(ws*50)-(s*10)-(w*5))/2;//2
    printf("%d\n",e);
    y=(m-(yb*100)-(ws*50)-(s*10)-(w*5)-(e*2))/1;//1
    printf("%d\n",y);
    wj=(m-(yb*100)-(ws*50)-(s*10)-(w*5)-(e*2)-y)/0.5;//0.5有问题
    printf("%d\n",wj);
    
   
    printf("100元%d张 50元%d张 10元%d张 5元%d张 2元%d张 1元%d张",yb,ws,s,w,e,y);
    return 0;
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值