向大神们请教个问题,求看我这个代码哪里错了。
这段代码要写的是输入最大值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++; } }