| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1421 人关注过本帖
标题:哥哥们,帮帮我吧,纠结一个程序。。。纠结死了,关于C语言二进制的
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
搞定
程序代码:
#include<stdio.h>
int v[] = {
    20, 23, 25, 28, 31, 42, 53, 61, 62, 70,
    74, 83, 97, 98, 102, 112, 118, 125, 128, 130};
double p[] = {
    1.10, 1.46, 1.47, 1.83, 1.84, 1.67, 2.08, 3.70, 3.70, 4.25,
    4.28, 5.06, 5.61, 5.80, 6.10, 6.60, 6.84, 7.41, 7.42, 7.45};
int main()
{
    int ms, tv, i, j;
    double mp, tp;
    mp = 0;
    for(i = 1; i < (1 << 20); i++)
    {
        tv = tp = 0;
        for(j = 0; j < 20; j++)
        if((i >> j) & 1)
        {
            tv += v[j];
            tp += p[j];
        }
        if(tv > 600) continue;
        if(tp > mp)
        {
            ms = i;
            mp = tp;
        }
    }
    for(i = 0; i < 20; printf("%d", (ms >> i++) & 1));
    printf("\nthe max price is %.2f\n", mp);
    return 0;
}

结果是36.11。物品取舍是01010001010101010100

重剑无锋,大巧不工
2012-07-07 22:52
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,又是第一

重剑无锋,大巧不工
2012-07-07 22:53
女生也编程
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-7-7
收藏
得分:0 
啥时间我能像你这么牛呢!
2012-07-07 23:01
女生也编程
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-7-7
收藏
得分:0 
能不能帮我检查一下 我的错误 在哪儿  为何结果不对头 、
2012-07-07 23:02
女生也编程
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-7-7
收藏
得分:0 
beyond  以后 你在我心里 就是 大神了
2012-07-07 23:06
女生也编程
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-7-7
收藏
得分:0 
我斗一晚上还是个错答案 你五分钟给我整出来了! 让我们初学者情何以堪啊
2012-07-07 23:07
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
maxp,maxv又没初始化。慢慢学不急,如果头像是你本人的照片那这些版主都会上赶着教你的(开个玩笑)

重剑无锋,大巧不工
2012-07-07 23:07
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
听口音像是东北姑娘,只要是真心学习的我很愿意帮忙。今天就到这里了,晚安

重剑无锋,大巧不工
2012-07-07 23:11
女生也编程
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2012-7-7
收藏
得分:0 
  谢谢。 我是河南信阳人。  晚安 大神
2012-07-07 23:15
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:0 
j的初始化有问题,放在第一个for循环里面,不然内层for循环第一次执行完毕,j=0。不起作用。for(n=0;n<=10;n++)
{
    j=19;
    for(i=0;i<20;i++)
    {   
       a[i]=(n>>j)&1;
        j--;
    }
2012-07-07 23:27
快速回复:哥哥们,帮帮我吧,纠结一个程序。。。纠结死了,关于C语言二进制的
数据加载中...
 
   



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

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