CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

这样的程序不应该提示语法错误, 我认真检查过也发现不了。 (可以直接考到VC里编译)

楼主lettermail7(jjjkfd)2003-10-04 11:23:44 在 C/C++ / C语言 提问

//“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为   s,设有   N   件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于   s   。    
   
  //如下程序均能求得“背包问题”的一组解,  
  //这其实是背包问题的简化版  
  #include<stdio.h>  
  #define   N   7  
  #define   s   15  
  int   w[N+1]={0,1,4,3,4,5,2,7};  
  int   knap(int   s,   int   n)       //使物品重量之各为s   ,     n   为物品个数  
  {  
  if(s==0)   return   1;    
   
  if   (   s<O   ||   (   s>O   &&   n<1   ))   return   0;    
   
  if   (   knap(s-w[n],n--)   )    
  {    
   
  printf(   "4d",w[n]   );return   1;    
   
  }    
  return   0   ;  
  }  
   
  main()  
  {    
   
  if   (   knap(s,N)   )    
  printf(   "OK!\n"   );    
   
  else   printf(   "N0!\n"   );  
  }    
   
  问题点数:50、回复次数:8Top

1 楼lettermail7(jjjkfd)回复于 2003-10-04 11:42:22 得分 0

我已经知道,散分Top

2 楼lemon520(喷血)回复于 2003-10-04 11:44:34 得分 40

不会吧!?  
  -_-!  
  我还是接分好了!Top

3 楼wowowowo(1)回复于 2003-10-04 12:09:45 得分 1

钱多啊Top

4 楼ZhangYv(迎着朝阳,走向地狱)回复于 2003-10-04 12:11:49 得分 2

可以接分了吧?Top

5 楼tonybaobao(Tony宝宝)回复于 2003-10-04 12:20:45 得分 1

printf(   "4d",w[n]   );     还是帮你看了一下,这里错了Top

6 楼seril(ser)回复于 2003-10-04 12:25:42 得分 2

if   (   s<O   ||   (   s>O   &&   n<1   ))   return   0;    
  应该为:else{   (   s<O   ||   (   s>O   &&   n<1   ))   return   0;   }    
  Top

7 楼GhostAdz(鬼斧)回复于 2003-10-04 12:55:35 得分 2

没办法   接一下Top

8 楼plainsong(短歌)()回复于 2003-10-04 13:05:13 得分 2

看了好久才看出来:  
   
  #define   s   15  
  ...  
  int   knap(int   s,   int   n)这一句在编译时(预处理后)就成了:  
  int   knap(int   15,   int   n),当然是语法错误了。  
  所以现在才提倡使用const   int   s   =   15这种语法来定义常量。  
  不过在C中这样定义的常量其时只是“不可变的变量”,不能完全代替“真正的常量”,比如用在数组定义时。这时我们可以用enum   {s   =   15}这种方法来代替(只限于整型)。Top

相关问题

  • 新手问题,关于vc语法,turbo c 编译通过……c++不行……
  • 有没有什么编译器能够发现这样的语法错误?VC认为是合法的。
  • 编译原理:求C/C++的语法
  • 问一个问题,我用release模式编译底程序,只把执行程序考到别的机器上(没装VC)为什么不能运行》
  • VC编译问题
  • vc++编译问题???
  • VC 编译问题!!
  • vc编译错误
  • vc不能编译
  • 编译问题!VC

关键词

  • 物品
  • 背包
  • 重量
  • 问题

得分解答快速导航

  • 帖主:lettermail7
  • lemon520
  • wowowowo
  • ZhangYv
  • tonybaobao
  • seril
  • GhostAdz
  • plainsong

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo