🌏个人博客:尹蓝锐的博客
希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~
1、题目要求:
假设有N项物品,大小分别为s1、s2、…、si、…、sN,其中si为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。
2、输入输出格式与样例:
输入格式:
输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,表示第i项物品的大小)。
输出格式:
按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。
输入样例:
8
60 70 80 90 30 40 10 20
输出样例:
60 1
70 2
80 3
90 4
30 1
40 5
10 1
20 2
3、程序:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int n, sum[5] = { 0 }, i,j, num[50] = { 0 };
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &num[i]);
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (sum[j] + num[i] <= 100)
{
printf("%d %d\n", num[i], j + 1);
sum[j] += num[i];
break;
}
}
}
return 0;
}
4、运行效果:
如果我的博客能给您带来启发,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
如果你喜欢这篇文章,别忘了留下你的感想和建议,让我知道你的想法。同时,也请继续关注我的博客,我们不见不散!
最后,愿每一位读到这里的你,都能拥有一个充实而美好的每一天。不管世界怎样变化,保持学习,保持热爱,保持对生活的好奇心,我们的故事,还在继续……