实验7-1-13 装箱问题

#include <stdio.h>
//返回number装到箱子的索引
int myFunc(int array[], int length, int number)
{
    int i, index = -1;
    
    for (i = 0; i < length; i++)
    {
        if (array[i] + number <= 100)
        {
            index = i + 1;
            array[i] = array[i] + number;
            break;
        }
    }
    
    return index;
}
int main(void)
{
    int n, arrayA[1000], arrayB[1000];
    int i;
    
    scanf("%d", &n);
    //记录物品大小
    for (i = 0; i < n; i++)
    {
        scanf("%d", &arrayA[i]);
    }
    //箱子初始化
    for (i = 0; i < 1000; i++)
    {
        arrayB[i] = 0;
    }
    
    for (i = 0; i < n; i++)
    {
        printf("%d %d\n", arrayA[i], myFunc(arrayB, n, arrayA[i]));
    }
    
    for (i = 0; i < 1000; i++)
    {
        if (arrayB[i] == 0)
        {
            printf("%d\n", i);
            break;
        }
    }
    
    return 0;
}
posted @ 2020-06-17 09:39  jason2018  阅读(283)  评论(0编辑  收藏  举报