我是c语言新手,编了关于背包问题的代码如下:
int a[100];
int do (s,n)
int s,n;
{if (s=0) return(1);
else {if ( (s<0)||( (s>0)&(n<0) ) ) return(0);
else {if (do(s-a[n],n-1))
{printf ("%d",a[n]);
return (1);}}
else return (do(s,n-1));}
}
main ()
{int j,k,i;
scanf ("%d %d",&j,&d);
for (i=0;i<=k;i++)
scanf ("%d",&a[i]);
if (do(j,k)=0)
printf ("no answer");
}
用turbo c 2.0编译总部成功,为什么??
int a[100];
int do (s,n)
int s,n;
{if (s=0) return(1);
else {if ( (s<0)||( (s>0)&(n<0) ) ) return(0);
else {if (do(s-a[n],n-1))
{printf ("%d",a[n]);
return (1);}}
else return (do(s,n-1));}
}
main ()
{int j,k,i;
scanf ("%d %d",&j,&d);
for (i=0;i<=k;i++)
scanf ("%d",&a[i]);
if (do(j,k)=0)
printf ("no answer");
}
用turbo c 2.0编译总部成功,为什么??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货