分辩零钱-20151108

题目内容:
为顾客找零钱时,希望选用的纸币张数最少。例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,用户输入100以下的数,计算找给顾客的各面值的纸币张数,数据间以空格隔开。
输入格式:
一个小于100、大于等于0的整数。
输出格式:
5个整数,数据间用一个英文空格分隔。

int n,a,b,c,d,e,sum; 
cout<<"请输入总额"<<endl;
cin>>n;
a=n/50; 
b=(n-a*50)/20;
c=(n-a*50-b*20)/10; 
d=(n-a*50-b*20-c*10)/5;
e=(n-a*50-b*20-c*10-d*5)/1;
cout<<"50元的有"<<a<<"张"<<endl;
cout<<"20元的有"<<b<<"张"<<endl; 
cout<<"10元的有"<<c<<"张"<<endl; 
cout<<"5元的有"<<d<<"张"<<endl; 
cout<<"1元的有"<<e<<"张"<<endl; 
sum=50*a+20*b+10*c+5*d+1*e; 
if(sum=n)
{
    cout<<"正确" <<endl;      
}
else
{
    cout<<"错误"<<endl;
} 

解析:首先从50开始,n中有几个50,同时把数值存给a;然后判断20、10、5、1;最后有一个校验的,如果abcde的和恰好等于n,则提示正确,否则提示错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值