作者 李祥
单位 湖北经济学院
某企业发放奖金,请你编写程序,帮助出纳员用最少的纸币发放奖金。其中奖金为整数,单位为元,个人奖金额小于 1 万元。
注:纸币面额为 100 元、50 元、20 元、10 元、5 元、2 元和 1 元。
输入格式
金额 (以元为单位,小于 10000 的整数)
输出格式
按钞票面额由大到小的顺序输出各种钞票的张数(参见输出样例)
输入样例
1582
输出样例
100元: 15张
50元: 1张
20元: 1张
10元: 1张
5元: 0张
2元: 1张
1元: 0张
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main()
{
int hundred,fifth,twenty,ten,five,two,one;
int n;
scanf("%d", &n);
hundred = n / 100;
fifth = (n - hundred * 100) / 50;
twenty = (n - hundred * 100 - fifth * 50) / 20;
ten = (n - hundred * 100 - fifth * 50 - twenty * 20) / 10;
five = (n - hundred * 100 - fifth * 50 - twenty * 20 - ten * 10) / 5;
two = (n - hundred * 100 - fifth * 50 - twenty * 20 - ten * 10 - five * 5) / 2;
one = n - hundred * 100 - fifth * 50 - twenty * 20 - ten * 10 - five * 5 - two * 2;
printf("100元:%3d张\n", hundred);
printf(" 50元:%3d张\n", fifth);
printf(" 20元:%3d张\n", twenty);
printf(" 10元:%3d张\n", ten);
printf(" 5元:%3d张\n", five);
printf(" 2元:%3d张\n", two);
printf(" 1元:%3d张\n", one);
return 0;
}