制作一个简单的棋盘格

时间:2011-03-02 05:19:15

标签: c for-loop

我需要帮助/提示在C中打印棋盘格。

我想像这样打印4x4棋盘:

+----+
|    |
|    |
|    |
+----+

当然那只有1x1,但我不知道如何做4x4。

我知道我必须使用某种嵌套的for循环才能做到这一点。我还必须将它存储在一个数组中。我只有这个:

#include <stdio.h>
#include <string.h>

char board[4][4];

int main() {

    for (int i = 0; i < 4; i++) {
        for (j = 0; j < 4; j++) {
            board[i][j] = 
        }
    }

我不知道如何在板[1] [1]中存储一个1x1的盒子,然后再在板[2] [2]中存储...你明白了...你们可以请帮我怎么做?

提前致谢!

2 个答案:

答案 0 :(得分:2)

请注意,对于每一行,您将为每列(或+和空格)打印----+然后再打|

+----+----+----+ ... ----+
|    |    |    | ...     |
.
.
.
|    |    |    | ...     |
+----+----+----+ ... ----+
|    |    |    | ...     |

等等。

还要考虑是否需要在阵列中存储板状态板图纸。电路板状态将更容易分析(并使用更少的内存)。当您需要“漂亮地打印”电路板时,您可以从电路板状态数组生成图纸

答案 1 :(得分:1)

董事会是这样的:

+---+---+
|   |   |
+---+---+
|   |   |

我会先打印几个分隔符元素:

while(i < n){
   printf("+---");
   i++;
}
printf("+\n");

比几个细胞:

while(i < n){
printf("| %c ", currcell);
   i++;
} 
printf("|\n")

其中char curcell将是您的board[i],[j] - 默认为空格。

对不起,如果看起来不够清楚,我对编程很新。