代码如下,如有帮助,请帮忙采纳一下,谢谢。
#include <stdio.h>
int main( )
{
int a[5],i;
int n[9];
for(i=0;i<9;i++) n[i]=0;
for(i=0;i<5;i++)
{
printf("Give the salary for the %d. employee > ",i+1);
scanf("%d",&a[i]);
}
printf("Salary 500 200 100 50 20 10 5 2 1\n");
for (i=0;i<5;i++)
{
printf("%6d ",a[i]);
printf("%3d ",a[i]/500);
n[0] += a[i]/500;
printf("%3d ",a[i]%500/200);
n[1] += a[i]%500/200;
printf("%3d ",a[i]%500%200/100);
n[2]+= a[i]%500%200/100;
printf("%3d ",a[i]%500%200%100/50);
n[3]+=a[i]%500%200%100/50;
printf("%3d ",a[i]%500%200%100%50/20);
n[4] += a[i]%500%200%100%50/20;
printf("%3d ",a[i]%500%200%100%50%20/10);
n[5] += a[i]%500%200%100%50%20/10;
printf("%3d ",a[i]%500%200%100%50%20%10/5);
n[6] += a[i]%500%200%100%50%20%10/5;
printf("%3d ",a[i]%500%200%100%50%20%10%5/2);
n[7] += a[i]%500%200%100%50%20%10%5/2;
printf("%3d\n",a[i]%2);
n[8] += a[i]%2;
}
printf("Total: ");
for(i=0;i<9;i++)
{
if(i<8)
printf("%3d ",n[i]);
else
printf("%3d\n",n[i]);
}
return 0;
}
就是根据工资从最大面额开始除,除数为该种币值张数,然后用余数继续除后续币种
#include <stdio.h>
int main()
{
int a[9] = {500,200,100,50,20,10,5,2,1};
int b[5][9] = {0};
int s[5];
int i,j,sum=0;
for(i=0;i<5;i++)
{
scanf("%d",&s[i]);
for(j=0;j<9;j++)
{
b[i][j] = s[i]/a[j];
money = s[i] % a[j];
}
}
printf("%10s",Salary);
for(i=0;i<9;i++)
printf("%10d",a[i]);
printf("\n");
for(i=0;i<5;i++)
{
printf("10d",s[i]);
for(j=0;j<9;j++)
printf("%10d",b[i][j]);
printf("\n");
}
printf("%10s","Total:");
for(i=0;i<9;i++)
{
sum = 0;
for(j=0;j<5;j++)
sum+= b[j][i];
printf("%10d",sum);
}
return 0;
}