#include<stdio.h>
int main(void){
int n; //物品个数
int k; //背包容量
double t;
int i=0;
printf("请输入物品个数n");
scanf("%d",&n);
int a[n]; //物品所占容量;
int m[n];
int b[n]; //物品的价值
float d[n],c[n]; //物品的价值率
printf("请输入背包总容量");
scanf("%d",&k);
printf("请输入n个物品的所占容量");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("请输入n个物品的价值");
for(i=0;i<n;i++){
scanf("%d",&b[i]);
d[i]=c[i]=(b[i])/(a[i]*1.0);
}
//对数组c进行排序
for(int j=0;j<n-1;j++){
for(int k=0;k<n-1-j;k++){
if(c[k] < c[k+1]){
t = c[k];
c[k] = c[k+1];
c[k+1] = t;
}
}
}
for(i=0;i<n;i++){
for(int j=0;j<n;j++){
if(c[i]==d[j]){
m[i]=j;
}
}
}
int s=0;
int z=0;
for(i=0;i<n;i++){
if(m[i]=z<k){
s+=b[m[i]];
}
}
printf("%d",s);
return 0;
}
day02笔记
最新推荐文章于 2024-05-27 11:45:57 发布