题目描述
买火车票时经常会碰到找钱问题。售票员手中有50、20、10、5、1元的钱币,你知道怎么找钱才能使找回的零钱张数最少吗?
输入
多组测试数据,输入需要找钱的钱数
输出
对每组测试数据按下面格式输出:
第一行输出"change:",然后是你要找的钱
以下几行按面值从大到小输出要找的张数,格式如下:50 yuan: 1,如果1张也没有就不需要输出
样例输入
76
样例输出
change:76
50 yuan:1
20 yuan:1
5 yuan:1
1 yuan:1
#include<stdio.h>
int main()
{
int n,a=0,b=0,c=0,d=0,e=0,i;
scanf("%d",&n);
printf("change:%d\n",n);
while(1)
{
if(n-50<0) break;
n-=50;
a++;
}
if(a>0) printf("50 yuan:%d\n",a);
while(1)
{
if(n-20<0) break;
n-=20;
b++;
}
if(b>0) printf("20 yuan:%d\n",b);
while(1)
{
if(n-5<0) break;
n-=5;
c++;
}
if(c>0) printf("5 yuan:%d\n",c);
while(1