代码如下
#include <stdio.h>
int backtrack (int i,int n ,int c1,int now ,int best, int b[] )
{
if(i>n)
{
if(now>best)
{
best = now;
printf("%d",best);
return best;
}
}
if(now+b[i]<c1)
{
now=now+b[i];
backtrack(++i,n,c1,now,best,b[20]);
}
backtrack(++i,n,c1,now,best,b[20]);
}
int main()
{
int a[20],b[20];
int c1,c2,n,now,best,t;
printf("输入第一艘船载重\n");
scanf("%d",&c1);
printf("\n输入第二艘船载重\n");
scanf("%d",&c2);
printf("\n输入货物数量\n");
scanf("%d",&n);
for(int i=0;i<n;i++) //输入每个货物重量
{
printf("\n请输入第%d个货物重量\n",i);
scanf("%d",&b[i]);
}
int x = 0;
for(int i=0;i<=n;i++)//获取总重量
{
x= x+b[i];
}
if(x>c1+c2)
{
printf("输入有误,请重新输入");
return 0 ;
}
now = 0;
best = 0;
t = 0;
int i = 0;
t=backtrack(0,n,c1, now,best,b[20]);
printf("%d",t);
}
报错内容如下,这应该怎么解决啊
劳烦大家了!