【初心者C#】paiza問題集Dランク 1行で与えられるN個の整数入力

※自分の備忘録用。

問題

1 行目で整数 N が与えられます。 2 行目で、N 個の整数 a_1, ... , a_N が半角スペース区切りで与えられます。 a_1, ... , a_N を改行区切りで出力してください。

//一行目の整数Nは表示
using System;

class Program
{
    static void Main()
    {
        // 1行目で N と N 個の整数を半角スペース区切りで読み込む
        string input = Console.ReadLine();
        string[] numbers = input.Split(' ');

        // 最初の要素を整数 N に変換
        int N = int.Parse(numbers[0]);

        // 2番目の要素から N 個の整数を改行区切りで出力
        for (int i = 1; i <= N; i++)
        {
            Console.WriteLine(int.Parse(numbers[i]));
        }
    }
}

このコードが整数 N を表示する理由。
for ループの条件が i <= N になっているため。最初の要素(整数 N)が numbers 配列の最初のインデックス 0 で表示される。

整数Nを表示させない修正方法

for ループの条件を i < numbers.Length に変更し、修正。

//一行目の整数Nは非表示
using System;

class Program
{
    static void Main()
    {
        // 1行目で N と N 個の整数を半角スペース区切りで読み込む
        string input = Console.ReadLine();
        string[] numbers = input.Split(' ');

        // 2番目の要素から N 個の整数を改行区切りで出力
        for (int i = 1; i < numbers.Length; i++)
        {
            Console.WriteLine(numbers[i]);
        }
    }
}

むず!

この記事が気に入ったらサポートをしてみませんか?