-1

我正在做一个简单的 c# 练习。这就是问题所在:编写一个名为 SquareBoard 的程序,该程序使用两个嵌套的 for 循环显示以下 n×n (n=5) 模式。这是我的代码:

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。您检查一个是否高于另一个,并且第二个循环永远不会运行。像这样重写:

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

第二次迭代每次都需要从 1 运行到 5 次。

于 2012-11-18T13:51:56.517 回答
0

这绝对有效:

        for (int i = 1; i <= 5; i++)
        {

            for (int j = 1; j <= 5; j++)
            {
                Console.Write("# ");
            }
            Console.Write("\n");

        }
于 2014-01-13T20:44:41.350 回答
-1
for(int i=0; i<5 ; i++)

    for(int j=0 ; j <5 ; j++)
    Console.Write("#");

Console.WriteLine();
于 2017-12-06T18:39:52.463 回答