找零钱
Q:输入实付钱数和应付钱数,输出应补钱数和每种面值纸币的张数,要求总张数最少。
S:
#include <stdio.h>
int main(int argc, char *argv[])
{
int c,b;//charge,bill
int ch,v;//change
int m[6]={100,50,20,10,5,1};
int p[6];
scanf("%d%d",&c,&b);
v=ch=c-b;
for(int i=0;i<=5;i++)
{
p[i]=v/m[i];
v=v%m[i];
}
printf("%d\n",ch);
for(int i=0;i<=5;i++)
{
if(p[i]!=0)
{
printf("%d*%d ",m[i],p[i]);
}
}
//printf("=%d\n",ch);
return 0;
}
浙公网安备 33010602011771号