1. 问题描述
某单位给每个职工发工资(精确到元)。为了保证不要零时兑换零钱,且取款的张数最少,取工资前要统计所有职工的工资所需各种币值(100,50,20,10,5,2,1共七种)的张数。请编程完成。
#include<stdio.h>
int change()
{
int GZ,A;//A用于计算每一种币的个数
int b[8]={0,100,50,20,10,5,2,1};//定义b[]数组用于声明币种
int s[8]={0,0,0,0,0,0,0,0};//定义s[]数组用于记录对应币种的张数
printf("请输入人员工资,以0结束:");
while(scanf("%d",&GZ)&&GZ!=0)//对于每一次输入GZ,计算对应的各币种的张数
{
for(int j=1;j<=7;j++)
{
A=GZ/b[j];
s[j]=s[j]+A;
GZ=GZ-A*b[j];
}
}
for(int i=1;i<=7;i++)
{
printf("币种为%d的有%d张\n",b[i],s[i]);
}
return 0;
}
int main()
{
change();
return 0;
}
运行结果