编辑代码

#include <stdio.h>
#include <stdlib.h>
const int bag = 35;
int max = 0;
int Max(int a[],int v[],int w[],int n,int t){  
    int maxVal=0,maxWei=0;
    if(t>n-1){
        for(int i=0;i<n;i++){
            maxVal=maxVal+v[i]*a[i];
            maxWei=maxWei+w[i]*a[i];
        }
        if(maxWei>bag){
            printf("方案总价为:%d,重量为:%d的不可行\n",maxVal,maxWei);
        }else{
            if(maxVal>max){
                max=maxVal;
            }
            printf("可行的方案总价为:%d,重量为:%d\n",maxVal,maxWei);
        }
    }else{
        for(int i=1;i>=0;i--){
            a[t]=i;
            Max(a,v,w,n,t+1);
        }
    }
    return max;
}

int main () { 
    int a[3];
    int v[]={1500,2000,3000};
    int w[]={15,20,30};
    printf("符合条件的最大值为:%d",Max(a,v,w,3,0));
    return 0;
}