5
社区成员
发帖
与我相关
我的任务
分享


#include<stdio.h>
#include<algorithm>
int main()
{
int c=100;//船载重量
int w[10]={10,20,35,50,18,17,26,9,8,1};//古董重量数组
//sort : 1,8,9,10,17,18,20,26,35,50,
std::sort(w,w+10);//默认将w数组按从小到大排序
int sum,n=0;//最大数量
for(int i=0;i<10;i++)
{
if(sum>c) break;
sum+=w[i];
n++;
printf("sum=%d,count=%d\n",sum,n);
}
printf("最大装载数量是:%d",n-1);
return 0;
}
输出结果:

更换测试用例
C=30
w[8] = {4,10,7,11,3,5,14,2}
代码:
#include<stdio.h>
#include<algorithm>
int main()
{
int c=30;//船载重量
int w[8]={4,10,7,11,3,5,14,2};//古董重量数组
//sort : 2,3,4,5,7,10,11,14
std::sort(w,w+8);//默认将w数组按从小到大排序
int sum,n=0;//最大数量
for(int i=0;i<8;i++)
{
if(sum>c) break;
sum+=w[i];
n++;
printf("sum=%d,count=%d\n",sum,n);
}
printf("最大装载数量是:%d",n-1);
return 0;
}
输出结果:
