| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3110 人关注过本帖, 1 人收藏
标题:背包算法的问题
取消只看楼主 加入收藏
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:3 
背包算法的问题
今天在论坛上看见有个人在讨论书包算法,于是好奇就也做了个(反正以后也要学的,嘿嘿!)已经知道有面值为: 100,50,30,10的钱,如输入:150,就输出100和50。输入280就输出2个100元,一个50元,3个10元,以此类推。。。可写出来的总是错错错!!代码如下:
#include<stdio.h>
void ok(int mianzhi,int f)
{
    printf("%d个%d元 ",f,mianzhi);
}
int main(void)
{
    int a,b[4]={100,50,30,10},f;
    scanf("%d",&a);
    for(f=0;f<4;f--)
    {
        if(a<b[f])
        {    if(f==3)
                ok(a,1);
            else
                continue;
        }
        else if(a>b[f])
        {
            ok(b[f],a/b[f]);
            if(a%b[f]==0)
                break;
            else
            {
                a=a%b[f];
                continue;
            }
            
        }
        else if(a==b[f])
        {
            ok(b[f],1);
            break;
        }
        
    }
    getch();
    return 0;
}
逻辑混乱 代码有点乱,可以的话帮忙修改下~~.错误的地方是输入100结果正确,输入120.输出的结果要我喷血!!乱七八糟的!
都帮忙帮忙啦~~~不过我写这个程序也是为了帮别人。。哈哈!!
搜索更多相关主题的帖子: 好奇 书包 include 
2011-09-22 16:41
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:0 
回复 2楼 statics
........我太粗心了..改改
2011-09-22 18:11
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:0 
真的不可大意啊,就错了那么一点点,大家千万别和我一样啊....,现在搞定了,谢谢楼上的啦
2011-09-22 18:15
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:0 
回复 13楼 laoyang103
真的越弄越不懂了,有些函数重来都没看到过,你写的,我收下了 以后在看看~~谢啦
2011-09-23 16:08
快速回复:背包算法的问题
数据加载中...
 
   



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

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