-1

私は簡単なC#の演習を行っています。問題は次のとおりです。2 つの入れ子になった for ループを使用して、次の n×n (n=5) パターンを表示する SquareBoard というプログラムを作成します。これが私のコードです:

Sample output:
# # # # #
# # # # #
# # # # #
# # # # #
# # # # #

これが私のコードです:

for (int row = 1; row <=5; row++) {
    for (int col = 1;col <row ; col++)
    {
        Console.Write("#");
    }
    Console.WriteLine();
}

しかし、うまくいきません。誰か助けてください。ありがとうございました..

4

7 に答える 7

8
int n = 5;
for (int row = 1; row <= n; row++) {
    for (int col = 1;col <= n; col++) {
        Console.Write("# ");
    }
    Console.WriteLine();
}

そんな感じ?

于 2012-11-18T13:50:14.760 に答える
4
for (int row = 0; row < 5; row++)
{

    for (int col = 0; col < 5; col++)
    {
        Console.Write("# ");
    }
    Console.WriteLine();
}
于 2012-11-18T13:51:15.710 に答える
2

このコード:

col <row 

問題を引き起こしています。

次のように変更します。

col <=5

そしてそれはうまくいくはずです

于 2012-11-18T13:51:32.363 に答える
2

私はこれがうまくいくと思います:

int n = 5;
for (int row = 1; row <=n; row++) 
{
    string rowContent = String.Empty;
    for (int col = 1;col <=n; col++)
    {
        rowContent += "# ";
    }
    Console.WriteLine(rowContent);
}

もちろん、StringBuilderこの種のことを頻繁に行う場合は、 a を使用することをお勧めします。

于 2012-11-18T13:54:51.520 に答える
1

最初の反復では、 と比較colrow、両方とも 1 です。一方が他方よりも高いかどうかを確認し、2 番目のループは実行されません。次のように書き換えます。

 for (int row = 1; row <=5; row++) {    
            for (int col = 1;col <= 5 ; col++)
            {
                Console.Write("#");
            }
            Console.WriteLine();
 }

2 回目の反復は、毎回 1 から 5 まで実行する必要があります。

于 2012-11-18T13:51:56.517 に答える