财务人员给员工发工资时经常遇到这样一个问题,即根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少。
例如,某职工工资为3436元,发放方案为:100元34张,20元1张,10元1张,5元1张,1元1张。
个人所写代码(可能有些不规范)
#include <stdio.h>
#include <math.h>
int main()
{
int i;
scanf("%d",&i);
printf("%d\n",i/100);//输出100元纸钞张数
i%=100;//对100取余
printf("%d\n",i/50);//输出50元纸钞张数
i%=50;
printf("%d\n",i/20);//输出20元纸钞张数
i%=20;
printf("%d\n",i/10);//输出10元纸钞张数
i%=10;
printf("%d\n",i/5);//输出5元纸钞张数
i%=5;
printf("%d\n",i);//输出1元纸钞张数
return 0;
}
demo程序
#include <stdio.h>
int main()
{
int m100;
int m50;
int m20;
int m10;
int m5;
int money;
scanf ("%d", &money);
m100 = money / 100;
money = money % 100;
m50 = money / 50;
money = money % 50;
m20 = money / 20;
money = money % 20;
m10 = money / 10;
money = money % 10;
m5 = money / 5;
money = money % 5;
printf ("m100 = %d\nm50 = %d\nm20 = %d\nm10 = %d\nm5 = %d\nm1 = %d\n",
m100, m50, m20, m10, m5, money);
return 0;
}