在二维数组中存储值C#

时间:2014-04-21 11:14:34

标签: c# arrays

我正在尝试解决这个问题,我发现需要的硬币数量最少,以便从当前的浮动中分配更改。我已经实现了逻辑,它目前正在相应地工作,但是我需要存储硬币值和必要的数量以便分配更改。我想将它存储在一个二维数组中,虽然我不能让它工作。到目前为止,这是我实现的逻辑:

// Reverse Sort Array
        Array.Reverse(quantities); // quantities for each coin
        Array.Reverse(coins); // coins start from $2 -> 0.05cents

        int counter = 0;
        int coin;
        for (int i = 0; i < coins.Length; i++)
        {
            coin = Math.Min(quantities[i], (int)(change / coins[i]));
            counter += coin;
            change -= coin * coins[i];
        }
        Console.WriteLine("Number of coins = {0}", counter); // total coins
    }

任何人都可以就如何做到这一点提供任何建议吗?我不被允许在Collection类中使用任何东西,如果可以的话我相信我会。所有答案都表示赞赏。 欢呼声。

1 个答案:

答案 0 :(得分:0)

为什么不使用单个数组和自定义类? 在现实世界中,您可能会选择字典(或排序字典), 但它看起来像Sayse写的一个练习。 您可以创建一个包含数量,每个硬币的价值和硬币总价值的简单类,并使用此类进行计算。