Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 打印二维阵列框_C - Fatal编程技术网

C 打印二维阵列框

C 打印二维阵列框,c,C,我是编程新手。正在考虑如何使用for循环打印出方框,使其成为一个大方框?我在下面附上了样品。我真的需要帮助 #include <stdio.h> int main() { int a; printf("\n --- \n"); for(a=1;a<=1;++a) printf("\n| |\n"); printf("\n --- "); return 0; } #包括 int main() { INTA; printf(“\n--\n

我是编程新手。正在考虑如何使用
for
循环打印出方框,使其成为一个大方框?我在下面附上了样品。我真的需要帮助

#include <stdio.h>

int main()
{     
 int a;

 printf("\n --- \n");
 for(a=1;a<=1;++a)
 printf("\n|   |\n");
 printf("\n --- ");

 return 0;
}
#包括
int main()
{     
INTA;
printf(“\n--\n”);

对于(a=1;a这样的问题可以解决。你需要对嵌套循环有基本的了解才能解决这个问题

#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char const *argv[]) {
    int rows, cols, i, j;

    printf("Enter rows for box: ");
    if (scanf("%d", &rows) != 1) {
        printf("Invalid rows\n");
        exit(EXIT_FAILURE);
    }

    printf("Enter columns for box: ");
    if (scanf("%d", &cols) != 1) {
        printf("Invalid columns\n");
        exit(EXIT_FAILURE);
    }

    printf("\n2D Array Box:\n");
    for (i = 1; i <= rows; i++) {
        for (j = 1; j <= cols; j++) {
            printf(" --- ");
        }
        printf("\n");
        for (j = 1; j <= cols; j++) {
            printf("|   |");
        }
        printf("\n");
    }

    /* bottom "---" row */
    for (i = 1; i <= cols; i++) {
        printf(" --- ");
    }

    return 0;
}
#包括
#包括
int
main(int argc,char const*argv[]){
int行,cols,i,j;
printf(“为框:”)输入行;
如果(扫描频率(“%d”,&行)!=1){
printf(“无效行\n”);
退出(退出失败);
}
printf(“输入框:”)的列;
如果(scanf(“%d”,&cols)!=1){
printf(“无效列\n”);
退出(退出失败);
}
printf(“\n2D数组框:\n”);
对于(i=1;i第一个字符(
)和重复字符串(
“--”

第一行,重复内容行和栏行

#include <stdio.h>

#define MARK "X O"

//reduce code    
#define DRAW_H_BAR()\
    do {\
        putchar(' ');\
        for(int i = 0; i < cols; ++i)\
            printf("%s ", h_bar);\
        puts("");\
    }while(0)

void printBoard(int rows, int cols, int board[rows][cols]){
    const char *h_bar = "---";
    const char v_bar = '|';

    DRAW_H_BAR();//first line
    for(int j = 0; j < rows; ++j){
        //contents line
        putchar(v_bar);
        for(int i = 0; i < cols; ++i)
            printf(" %c %c", MARK[board[j][i]+1],v_bar);
        puts("");
        DRAW_H_BAR();//bar line
    }
}

int main(void){
    int board[8][8] = {
        {1,0,1,0,1,0,1,0},
        {0,1,0,1,0,1,0,1},
        {1,0,1,0,1,0,1,0},
        {0,0,0,0,0,0,0,0},
        {0,0,0,0,0,0,0,0},
        {0,-1,0,-1,0,-1,0,-1},
        {-1,0,-1,0,-1,0,-1,0},
        {0,-1,0,-1,0,-1,0,-1}
    };
    int rows = sizeof(board)/sizeof(*board);
    int cols = sizeof(*board)/sizeof(**board);
    printBoard(rows, cols, board);
}
#包括
#定义标记“X O”
//减少代码
#定义绘图栏()\
做{\
putchar(“”)\
对于(int i=0;i
你给我们看的代码有什么问题?该程序的实际输出是什么?你期望的输出是什么?同样请。看起来像是一些家庭作业。你需要展示你所做的努力,并更具体地描述你的问题。@一些程序员伙计,很抱歉不精确,我想要的是打印一个带有'---“在上面,”|“在旁边”。@RyanHu供您参考,这不是家庭作业,是我作业计划的一部分。@CristyLim您可以编辑您的问题使其合理。