向大神们请教个问题,求看我这个代码哪里错了。
这段代码要写的是输入最大值m,和n个数,求n个数任意相加与m值最接近的值是多少。
程序代码:#include <stdio.h>
#define N 30
int a[N],end;
void zuhe(int n,int k,int m,int a[N])
{
int i,j,w=0;
for(i=n;i>=k;i--)
{
if(k>1) zuhe(i-1,k-1,m,a[i]);
else
{
for(j=1;j<=end;j++)
w+=a[j];
printf("%d ",w);
printf("\n");
}
}
}
void main()
{
int n,m,k,d;
scanf("%d %d",&m,&n);
end=n;
d=n;
int a[d],i,j,w;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
while(k<n){
zuhe(n,k,m,a[i]);
k++;
}
}




~

谢谢大佬的回复,虽然有点看不懂。。。我太菜的锅,我重新写一遍试试。
~