c语言发工资现金2178元,用100元,50元,20元,10元,5元,和1元的票子,问各多少张

 我来答
liruih8121099
游戏玩家

2014-10-22 · 游戏我都懂点儿,问我就对了
知道小有建树答主
回答量:561
采纳率:75%
帮助的人:172万
展开全部

一个解:

21张100 1张50 1张 20 1张5块 3张1块

所有解:

int main()
{
    int money = 2178;
    int a,b,c,d,e,f;
    for(a=0;a*100<=money;a++)
        for(b=0;a*100+b*50<=money;b++)
            for(c=0;a*100+b*50+c*20<=money;c++)
                for(d=0;a*100+b*50+c*20+d*10<=money;d++)
                    for(e=0;a*100+b*50+c*20+d*10+e*5<=money;e++)
                    {
                        f = money-(a*100+b*50+c*20+d*10+e*5);
                        printf("100元%d张\t50元%d张\t",a,b);
                        printf("20元%d张\t10元%d张\t",c,d);
                        printf("5元%d张\t1元%d张\t",e,f);
                        puts("");
                    }
    return 0;
}
百度网友0a5f229
2014-10-21 · TA获得超过1521个赞
知道小有建树答主
回答量:812
采纳率:0%
帮助的人:492万
展开全部
楼上的解太复杂 很简单的问题这么多for循环
int money = 2178;
int m100 = 2178 /100; //100元钞票的张数
printf("100元%d张",m100);
money = 2178 % 100; //去余数 去掉100元 剩下来的钱
int m50 = money / 50; //
printf("50元%d张",m50);
money = money % 50;
int m20 = money /20;
printf("20元%d张",m20);
money = money % 20;
int m10 = money /10 ;
printf("10元%d张",m10);
money = money % 10;
int m1 = money / 1;
printf("1元%d张",m1);

结果:跟楼上的差不多 只是一元的是3张
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenhongbo666
2014-10-21
知道答主
回答量:27
采纳率:0%
帮助的人:12.6万
展开全部
这个题有多种答案,楼主是要所有的排列方式么?
首先求出各自的最多需要有多少张:int my100=2178/100,my50=2178/50,my20=20,my10=2178/10,my5=2178/5,my1=2178;
然后计算所有组合:
int m100=0,m50=0,m20=0,m10=0,m5=0,m1=0;
for(m100=0;m100<=my100;m100++)
{
for(;m50<=my50;m50++)
{
for(;m20<=my20;m20++)
{
for(;m10<=my10;m10++)
{
for(;m5<=my5;m5++)
{
for(;m1<=my1;1++)
{
if(100*m100+50*m50+20*m20+10*m10+5*m5+m1 ==2178)
printf("100元:%d,50元:%d,20元:%d,10元:%d,5元:%d,1元:%d\n",m100,m50,m20,m10,m5,m1);

}
}
}
}
}
}

希望能帮助你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-06-03
展开全部
你好,是21张100元,1张50元,2张10元,1张5元,3张1元,总共27张。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-10-21 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6572万
展开全部
这种问题有多种解,下面代码求得最少张数解。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int y[6]={100,50,20,10,5,1},m,i;
printf("y100\ty50\ty20\ty10\ty5\ty1\n");
for(m=2178,i=0;i<5;i++){
printf("%d\t",m/y[i]);
m%=y[i];
}
printf("%d\n",m/y[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式