我需要帮助/提示在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]中存储...你明白了...你们可以请帮我怎么做?
提前致谢!
答案 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]
- 默认为空格。
对不起,如果看起来不够清楚,我对编程很新。