您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 求教 背包问题 我的maxV输出总是一堆负数。。

求教 背包问题 我的maxV输出总是一堆负数。。

来源:网络整理     时间:2016/7/17 2:26:08     关键词:

关于网友提出的“ 求教 背包问题 我的maxV输出总是一堆负数。。”问题疑问,本网通过在网上对“ 求教 背包问题 我的maxV输出总是一堆负数。。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 求教 背包问题 我的maxV输出总是一堆负数。。
描述:

# include 
# define   N     100
double     limitW,totV,maxV;
int    option[N],cop[N];
struct      {        double     weight;
                     double     value;
             }a[N];
int    n;
void find(int i,double tw,double tv)
{     int k;
       /*考虑物品i包含在当前方案中的可能性*/
       if (tw+a[i].weight<=limitW)
       {     cop[i]=1;
              if (i<>
              else
              {     for (k=0;k<>
                            option[k]=cop[k];
                    maxV=tv;
              }
              cop[i]=0;
}
       /*考虑物品i不包含在当前方案中的可能性*/
       if (tv-a[i].value>maxV)
              if (i<>
              else
              {     
  for (k=0;k<>
                            option[k]=cop[k];
                  maxV=tv-a[i].value;
              }
}
 void main()
{     int k;
       double w,v;
       printf("输入物品种数\n");
       scanf("%d",&n);
       printf("输入各物品的重量和价值\n");
       for (totV=0.0,k=0;k<>
       {     scanf("%1f%1f",&w,&v);
              a[k].weight=w;
              a[k].value=v;
              totV+=v;
       }
       printf("输入限制重量\n");
       scanf("%1f",&limitW);
       maxV=0.0;
       for (k=0;k<>
       find(0,0.0,totV);
       for (k=0;k<>
              if (option[k])   printf("%4d",k+1);
   printf("\n总价值为:%2f\n",maxV);
   getchar();
   char z;
   scanf("%d",&z);
}
总价值为:总是会输出负数
对C语言不是很熟悉所以实在找不出问题在哪,有深夜没睡的大神么? 求解答。。。。。


解决方案1:

scanf("%lf%lf",&w,&v);
scanf("%lf",&limitW);
将这两个语句中的1f(数字1)改为lf(英文l)即可。

解决方案2:

引用 3 楼 hellcomer 的回复:
引用 2 楼 luciferisnotsatan 的回复:
scanf("%1f%1f",&amp;w,&amp;v);
加这两个1的目的是什么?
一个是重量一个是价值。

double,格式化字符串要用 %lf, 获取(scanf)时用 lf。英文字符l
你用的却是 1f,数字 1
2005的MSDN上,printf的%f指double类型,scanf的%f指float。。。。

以上介绍了“ 求教 背包问题 我的maxV输出总是一堆负数。。”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2735419.html

相关图片

相关文章