1

私のプログラムは、前に入力した番号を次の番号に追加する必要があります。これは私がこれまでに持っているもので、行き詰まりました。入力した数値が加算されますが、前の数値を検証する方法がわかりません。

static void Main(string[] args)
{
    const int QUIT = -1;
    string inputStr;
    int inputInt = 0;
    do
    {
        Console.Write("Type a number (type -1 to quit): ");
        inputStr = Console.ReadLine();
        bool inputBool = int.TryParse(inputStr, out inputInt);

        if (inputBool == true)
            inputInt += inputInt;

        Console.WriteLine("Sum of the past three numbers is: {0}", inputInt);
    } while (inputInt != QUIT);
}

無数のエントリがある可能性があるため、配列の適切な使用方法がわかりません。

4

5 に答える 5

0

最も簡単な解決策が必要な場合は、過去 3 つの数字を追跡し、印刷時に合計することができます。

static void Main(string[] args)
{
    const int QUIT = -1;
    string inputStr;
    int i1 = 0;
    int i2 = 0;
    int i3 = 0;
    int inputInt = 0;
    do
    {
        Console.Write("Type a number (type -1 to quit): ");
        inputStr = Console.ReadLine();
        bool inputBool = int.TryParse(inputStr, out inputInt);

        if (inputBool == true)
        {
            i3 = i2;
            i2 = i1;
            i1 = inputInt;
        }

        Console.WriteLine("Sum of the past three numbers is: {0}", i1+i2+i3);

    } while (inputInt != QUIT);


}
于 2013-05-06T19:58:09.900 に答える
0

リストを使用して、入ってくるすべての数字を保存します。次に、最後にリスト内のアイテムの数を数え、リストSum()全体を

static void Main(string[] args)
{
    const int QUIT = -1;
    string inputStr;
    List<int> allNumbers = new List<int>();
    do
    {
        Console.Write("Type a number (type -1 to quit): ");
        inputStr = Console.ReadLine();
        bool inputBool = int.TryParse(inputStr, out inputInt);

        if (inputBool == true)
            allNumbers.Add(inputInt); // Add a new element to the list
        Console.WriteLine("Sum of the past " + allNumbers.Count + " numbers is: {0}", allNumbers.Sum());
    } while (inputInt != QUIT);
}
于 2013-05-06T20:12:55.273 に答える