13:人民币支付

编程入门 行业动态 更新时间:2024-10-24 10:15:06

13:<a href=https://www.elefans.com/category/jswz/34/1769616.html style=人民币支付"/>

13:人民币支付

预计阅读时间:5分钟

题目

描述

从键盘输入一指定金额(以元为单位,如345),然后输出支付该金额的各种面额的人民币数量,显示100元,50元,20元,10元,5元,1元各多少张,要求尽量使用大面额的钞票。

输入

一个小于1000的正整数。

输出

输出分行,每行显示一个整数,从上到下分别表示100元,50元,20元,10元,5元,1元人民币的张数

样例输入

735

样例输出

7
0
1
1
1
0

题目分析

简单易懂,没什么好分析的。

思路

本人用了两个办法,一个是用减法来做,效率不是很高,但也对了;另一个是用取模来做,这个效率高很多,是个不错的办法。当然两个都对。

参考代码

两个办法都对。

方法一:笨办法

#include <iostream>
using namespace std;
int main()
{int n;int c100=0,c50=0,c20=0,c10=0,c5=0,c1=0;cin>>n;while(n>=100){n-=100;c100++;}while(n>=50){n-=50;c50++;}while(n>=20){n-=20;c20++;}while(n>=10){n-=10;c10++;}while(n>=5){n-=5;c5++;}while(n>=1){n--;c1++;}cout<<c100<<'\n'<<c50<<'\n'<<c20<<'\n'<<c10<<'\n'<<c5<<'\n'<<c1<<'\n'<<endl;return 0;
}

方法二:好办法

#include <iostream>
using namespace std;
int main()
{int n;int c100=0,c50=0,c20=0,c10=0,c5=0,c1=0;cin>>n;while(n>0){if(n>=100){c100+=n/100;n%=100;}else if(n>=50){c50+=n/50;n%=50;}else if(n>=20){c20+=n/20;n%=20;}else if(n>=10){c10+=n/10;n%=10;}else if(n>=5){c5+=n/5;n%=5;}else if(n>=1){c1+=n;n=0;}}cout<<c100<<'\n'<<c50<<'\n'<<c20<<'\n'<<c10<<'\n'<<c5<<'\n'<<c1<<'\n'<<endl;return 0;
}

希望本博客对大家有所帮助!

更多推荐

13:人民币支付

本文发布于:2024-03-09 01:08:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723171.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:人民币

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!