买火车票时经常会碰到找钱问题。售票员手中有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
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)
{
if(n-1<0) break;
n-=1;
d++;
}
if(d>0) printf("1 yuan:%d\n",d);
}
#include
using namespace std;
int main()
{
int n,t;
while(cin>>n)
{
cout<<"change:"<=0)
{n-=50;t++;}
else
break;
}
if(t!=0)
cout<<"50 yuan:"<=0)
{n-=20;t++;}
else
break;
}
if(t!=0)
cout<<"20 yuan:"<=0)
{n-=10;t++;}
else
break;
}
if(t!=0)
cout<<"10 yuan:"<=0)
{n-=5;t++;}
else
break;
}
if(t!=0)
cout<<"5 yuan:"<=0)
{n-=1;t++;}
else
break;
}
if(t!=0)
cout<<"1 yuan:"<