0

C# でネストされた for ループを作成するときに問題が発生しているようです。ネストされたループに中括弧がある場合、結果は期待どおりではありませんが、中括弧がある場合、結果は期待どおりです。

コード:

int i, j, k;

for(i=1; i<=5;i++) // this loops 5 times. 
{
   for (j = 5; j > i; j--)
   {
      Console.Write(" ");
      Console.WriteLine("0");
   }
}

期待される:

    0
   0
  0
 0
0

結果:

  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0

ネストされた中かっこを否定すると、期待される答えが得られる理由がわかりませんが、なぜうまくいかないのかわかりません。

4

4 に答える 4

0

Console.WriteLine("0"); であるためです。返します。

これを試して

   for(i=1; i<=5;i++) // this loops 5 times. 
    {
        for (j = 5; j > i; j--)
        {
            Console.Write(" ");
        }
        Console.WriteLine("0");
    }
于 2013-10-18T15:59:58.337 に答える
0

これConsole.WriteLine("0");を最初のループから取り出します。

于 2013-10-18T15:56:58.717 に答える
0

これはより短い方法で行うことができます:

for(int i = 5; i > 0; --i)
    Console.WriteLine(new String(' ', i) + 0);
于 2013-10-18T16:07:50.190 に答える