| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6237 人关注过本帖
标题:c++ 如何解决:将一笔零钱.,换成5分、2分和1分的硬币--的问题
只看楼主 加入收藏
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
c++ 如何解决:将一笔零钱.,换成5分、2分和1分的硬币--的问题

程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
将一笔零钱(大于8分,小于1元, 精确到分)换成5分、2分和1分的硬币。
输入金额,问有几种换法?针对每一种换法,每种硬币至少有一枚,请输出各种面额硬币的数量和硬币的总数量。
要求:硬币面值按5分、2分、1分顺序,硬币总数按从小到大的顺序,输出各种换法。

输出使用语句:printf("fen5:%d,fen2:%d,fen1:%d,total:%d\n",fen5, fen2, fen1, fen5+fen2+fen1);
输入输出示例:括号内为说明
输入:
2                    (repeat=2)
10                   (money=10分)
13                   (money=13分)
输出:
fen5:1,fen2:2,fen1:1,total:4        
fen5:1,fen2:1,fen1:3,total:5
count = 2                (10分有2种换法)
fen5:2,fen2:1,fen1:1,total:4
fen5:1,fen2:3,fen1:2,total:6
fen5:1,fen2:2,fen1:4,total:7
fen5:1,fen2:1,fen1:6,total:8
count = 4                (13分有4种换法)


#include "stdio.h"
int main(void)
{
    int count, fen1, fen2, fen5, money;
    int repeat, ri;


    scanf("%d", &repeat);
    for(ri = 1; ri <= repeat; ri++){
        scanf("%d", &money);
/*---------*/
        printf("count = %d\n", count);
    }
}
 
搜索更多相关主题的帖子: 硬币 
2009-11-02 22:11
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
没有人回答《《《《
2009-11-02 22:29
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:20 
自己先大体编写一下嘛。
2009-11-02 22:37
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
我自己写过的  但是输出顺序总是错的
#include "stdio.h"
int main(void)
{
    int count, fen1, fen2, fen5, money;
    int repeat, ri;


    scanf("%d", &repeat);
    for(ri = 1; ri <= repeat; ri++){
        scanf("%d", &money);
        count=0;
        for(fen5=money;fen5>=1;fen5--){
            for (fen2=money;fen2>=1;fen--){
                for (fen1=money;fen1>=1;fen--){
                    if(fen1+fen2*2+fen5*5==money){
                    printf("fen5:%d,fen2:%d,fen1:%d,total:%d\n",fen5, fen2, fen1, fen5+fen2+fen1);
                    count++;                       
                    }}}}
/*---------*/
     printf("count = %d\n", count);
    }
}
2009-11-02 22:44
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
高手解答一下啊  
当输入较大数字时  不会按总数从小到大输出
2009-11-02 22:47
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
#include "stdio.h"
int main(void)
{
    int count, fen1, fen2, fen5, money;
    int repeat, ri;
    scanf("%d", &repeat);
    for(ri = 1; ri <= repeat; ri++)
    {
        count=0;
        scanf("%d", &money);
        for(fen1=1;fen1<100;fen1++)
           for(fen2=1;fen2<50;fen2++)
              for(fen5=1;fen5<20;fen5++)
                if(fen1+fen2*2+fen5*5==money)
                   {
                   printf("fen5:%d,fen2:%d,fen1:%d,total:%d\n",fen5, fen2, fen1, fen5+fen2+fen1);
                   count++;
                   }
        printf("count = %d\n", count);
    }
}
2009-11-02 22:47
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
这个算法的输出顺序不对啊
2009-11-02 22:50
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
能不能给个  能使输出顺序按照总数由小到大排列的算法
2009-11-02 22:52
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
自己再加个排序函数。
2009-11-02 22:54
哈哈哈1234
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-11-2
收藏
得分:0 
这个我们还没有教 不会啊
2009-11-02 22:55
快速回复:c++ 如何解决:将一笔零钱.,换成5分、2分和1分的硬币--的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012652 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved