找零钱

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
",ch);
	for(int i=0;i<=5;i++)
	{
		if(p[i]!=0)
		{
			printf("%d*%d ",m[i],p[i]);
		}
	}
	//printf("=%d
",ch);
	return 0;
}
原文地址:https://www.cnblogs.com/LegendLa/p/4158164.html