C 制作简单的棋盘

C 制作简单的棋盘,c,for-loop,C,For Loop,我需要帮助/提示以C语言打印棋盘 我想打印一个4x4棋盘,如下所示: +----+ | | | | | | +----+ +---+---+ | | | +---+---+ | | | 当然,这只是1x1,但我不知道如何做一个4x4 我知道我必须使用某种嵌套for循环来实现这一点。我还必须将其存储在数组中。我所拥有的只是: #include <stdio.h> #include <string.h> char board[4][4]

我需要帮助/提示以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] = 
        }
    }
#包括
#包括
炭板[4][4];
int main(){
对于(int i=0;i<4;i++){
对于(j=0;j<4;j++){
董事会[i][j]=
}
}
我不知道如何将1x1盒存储在电路板[1][1]中,然后再存储在电路板[2][2]……你们明白了……你们能帮我怎么做吗


提前感谢!

考虑到对于每一行,您将打印
+
,然后为每一列(或
|
和空格)打印
----+

等等


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

考虑到对于每一行,您将打印
+
,然后为每一列(或
|
和空格)打印
-+

等等


还考虑是否需要将板状态或板图存储在数组中。板状态将更容易分析(并且使用更少的内存)。当需要“打印”板时,可以从板状态数组生成绘图。

< P>板如下:

+----+
|    |
|    |
|    |
+----+
+---+---+
|   |   |
+---+---+
|   |   |
等等

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

while(i < n){
   printf("+---");
   i++;
}
printf("+\n");
while(i
多个单元格:

while(i < n){
printf("| %c ", currcell);
   i++;
} 
printf("|\n")
while(i
其中,
char curcell
将是您的
board[i],[j]
——默认情况下为空白


抱歉,如果它看起来不够清晰,我对编程非常陌生。

一块板是这样的:

+----+
|    |
|    |
|    |
+----+
+---+---+
|   |   |
+---+---+
|   |   |
等等

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

while(i < n){
   printf("+---");
   i++;
}
printf("+\n");
while(i
多个单元格:

while(i < n){
printf("| %c ", currcell);
   i++;
} 
printf("|\n")
while(i
其中,
char curcell
将是您的
board[i],[j]
——默认情况下为空白


很抱歉,如果它看起来不够清晰,我对编程非常陌生。

你只是想打印网格,还是用值存储它?@Rob我想打印网格,但也将其存储在数组中。这只是我正在处理的程序的一部分,因此如果我要执行控制台输入并将2,2放入板[2][2]你知道我的意思吗?你的数组是[4][4]但是您将引用0..4中的
i
j
值,这将使您超过数组边界,因此您将写入您不拥有的内存。@fbrereto:好的,我通过编辑for循环编辑了代码。但我仍然需要弄清楚如何在数组中存储该模式……您的问题主要是如何存储a b阵列中的板状态,或者如何用ASCII艺术打印板?即使您需要同时执行这两项任务,也要一次专注于一项任务。您是只想打印网格,还是用值存储它?@Rob我想打印网格,但也要将其存储在阵列中。这只是我正在处理的程序的一部分,因此如果我要执行控制台输入并将2,2它应该进入板[2][2]你知道我的意思吗?你的数组是[4][4]但是您将引用0..4中的
i
j
值,这将使您超过数组边界,因此您将写入您不拥有的内存。@fbrereto:好的,我通过编辑for循环编辑了代码。但我仍然需要弄清楚如何在数组中存储该模式……您的问题主要是如何存储a b阵列中的电路板状态,或者如何以ASCII艺术打印电路板?即使您需要同时执行这两项操作,也要一次专注于一项任务。哦,我希望存储电路板状态。这是因为如果用户输入2,3,我希望它转到电路板[2][3]然后可能会更改特定框。哦,我想存储板状态。这是因为如果用户输入2,3,我希望它转到板[2][3],然后可能会更改特定框。