请帮忙编写个简单的C++小程序,貌似是是循环结构的

小龙去买零食,花了25.5元,给了老板1张100元的钞票,编写程序,输出老板的所有找零的方式。(钞票面值有1角、5角、1元、5元、10元、50元、100元,每种面值的钞票... 小龙去买零食,花了25.5元,给了老板1张100元的钞票,编写程序,输出老板的所有找零的方式。(钞票面值有1角、5角、1元、5元、10元、50元、100元,每种面值的钞票数量不超过9张) 展开
 我来答
龚炜林
2012-03-02 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:586万
展开全部
#include<IOSTREAM>
using namespace std;
unsigned int num[7]={0};
const double money_value[7]={100,50,10,5,1,0.5,0.1};//将人民币面值定义到数组
const double des=74.5;//找钱总数
void search(unsigned short int t,double leave_money)
{
if(t==7)
return;
if(leave_money>9*money_value[t])//如果剩余的钱大于剩下的最大币值,则返回
return;
double current_money;
for (double i=0;i<=9;i++)
{
current_money=leave_money;
current_money-=money_value[t]*i;//计算剩下的钱
if (current_money<=-0.01)//不能继续减下去了
break;
num[t]=i;//
search(t+1,current_money);//让下一币值继续表示
if((current_money<=0)&¤t_money>-0.01)//注:此处酌情进行匹配,如果要求的精确度为0.01则此处应为-0.01
{
if(i==0)
break;

for(int k=0;k<t;k++)
{
if(num[k]==0)
continue;
cout<<money_value[k]<<"元"<<num[k]<<"张 ";
}
cout<<money_value[t]<<"元"<<i<<"张 ";
cout<<" = "<<des<<"元"<<endl;
}
for(int r=t;r<7;r++)
num[r]=0;
}
}
int main()
{
unsigned short int i=0;
search(0,des);
return 0;
}
爱上夜色深沉
2012-02-29 · TA获得超过459个赞
知道小有建树答主
回答量:377
采纳率:100%
帮助的人:346万
展开全部
童鞋。我还是要分。
追问
google一下就有了,你得瑟毛
追答
这么简单的问题都来问谷歌,你弱爆了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式