广州做创客教室的厂家网站,软文写作平台发稿,济南网站建设优化百家号,wordpress主题哪里买【任务描述】 阿里巴巴进入四十大盗的宝库后#xff0c;发现里面宝物众多#xff0c;并且每种宝物都有体积和价值的标注#xff0c;如何尽可能地多装宝物#xff0c;是宝物的价值最大#xff0c;但不能超过口袋容量。#xff08;口袋体积是150#xff09; 宝物 A B …【任务描述】 阿里巴巴进入四十大盗的宝库后发现里面宝物众多并且每种宝物都有体积和价值的标注如何尽可能地多装宝物是宝物的价值最大但不能超过口袋容量。口袋体积是150 宝物 A B C D E F G H I J 体积 35 25 30 60 50 20 40 10 20 25 价值 10 30 40 30 50 100 35 40 30 35 程序
#includestdio.h
#includestdlib.h
int comp(const void *a,const void *b)
{return *(double *)a*(double *)b ? 1 : -1;//注意这里
}
struct Treasure
{
char name;
int volume;
int value;
double ratio;
};
int main()
{Treasure t[10]/*,temp*/;int i,/*j,*/sum0,value0;printf(请输入宝物的体积和价值\n);for(i0;i10;i){t[i].nameiA;printf(第%d件宝物的体积和价值\n,i1);scanf(%d%d,t[i].volume,t[i].value);t[i].ratiot[i].value/double(t[i].volume);}qsort(t,10,sizeof(t[0]),comp);//qsort和选择排序都可以
/* for(i0;i9;i)for(ji1;j10;j){if(t[i].ratiot[j].ratio){tempt[i];t[i]t[j];t[j]temp;}}*/printf(装入的是\n);for(i0;i10;i){sumsumt[i].volume;if(sum150){sumsum-t[i].volume;break;}printf(%c, ,t[i].name);valuevaluet[i].value;}printf(总价值是%d\n,value);printf(总体积是%d\n,sum);return 0;}