moran2466696920 2022-10-18 15:52 采纳率: 20%
浏览 326

装箱问题C语言求解答

假设有N项物品,大小分别为s 1、s 2、…、s i、…、s N,其中s i 为满足1≤s i ≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。

输入格式:
输入第一行给出物品个数N(≤1000);第二行给出N个正整数s i(1≤s i≤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
5
我写的代码,请问为什么输出的时候是
60 1
70 1
8
到底是哪里错了呢
#include<stdio.h>
int main()
{
int n,s[101],a[101]={100};//s代表物品,a代表箱子
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&s[i]);//输入物品的大小
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(s[i]<a[j]){//当箱子容量大于物体时装入箱子
printf("%d %d\n",s[i],j+1);
a[j]=a[j]-s[i];break;
}
}}
int count=0;
for(int k=0;k<n;k++){
if(a[k]!=100)count++;
}
printf("%d",count);
return 0;
}

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-18 16:05
    关注
    
    #include <stdlib.h>
     
    int main()
    {
        int m,n,i;
        scanf("%d",&m);
            int a[m];
            int c[10007]={0};//箱内物品总大小
            int b[m];//记录箱子号
        for(i=0;i<m;i++)
        {
            scanf("%d",&a[i]);
        }
     int   k=0;
        for(i=0;i<m;i++)
        {
            int p=0;//设置装箱开关
          for(n=0;n<=k;n++)
          {
              if((c[n]+a[i])<=100)
              {
                  c[n]+=a[i];
                  b[i]=n+1;
                  p=1;
                  break;
              }
          }
          if(p==0)//未装进则再开一个箱子
          {   k++;
              c[k]+=a[i];
              b[i]=k+1;
          }
        }
        for(i=0;i<m;i++)
        {
            printf("%d %d\n",a[i],b[i]);
        }
        printf("%d",k+1);
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月18日

悬赏问题

  • ¥15 RPG游戏架构设计和开发方法
  • ¥15 python 计算股权结构
  • ¥30 为什么会失败呢,该如何调整
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题
  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用