举例
    例:在屏幕上画半个象棋残局,如图:

    ┏┯┯┯将┯┯┯┓

    ┠┼┼┼┼┼┼┼┨

    ┠╋┼┼┼┼┼╋┨

    ┣┼╋┼╋┼╋┼┫

    ┠┴┴┴┴┴┴┴┨

      有多种方法,但如果我们以后还要考虑棋子的移动,最方便的方法是使用二维数组。

    #include

    #define LEFTEDGE 0

    #define LEFTTOP 1

    #define TOPEDGE 2

    #define RIGHTTOP 3

    #define RIGHTEDGE 4

    #define CROSS 5

    #define BLACKCROSS 6

    #define RIVEREDGE 7

    #define JIANG 8

    char xq[5][9]

    ={

    {LEFTTOP,TOPEDGE,TOPEDGE,TOPEDGE,JIANG,TOPEDGE,TOPEDGE,TOPEDGE,RIGHTTOP},

    {LEFTEDGE,CROSS,CROSS,CROSS,CROSS,CROSS,CROSS,CROSS,RIGHTEDGE},

    {LEFTEDGE,BLACKCROSS,CROSS,CROSS,CROSS,CROSS,CROSS,BLACKCROSS,RIGHTEDGE},

    {LEFTEDGE,CROSS,BLACKCROSS,CROSS,BLACKCROSS,CROSS,BLACKCROSS,CROSS,RIGHTEDGE},

    {LEFTEDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIVEREDGE,RIGHTEDGE}}

    };

    main()

    {

    int i,j;

    char a[36];

    for (i=0;i<5;i++)

    {

    a[0]='\0';

    for (j=0;j<9;j++)

    {

    switch(xq[i][j])

    {

    case LEFTEDGE:

    strcat(a.“┠”);

    break;

    case LEFTTOP:

    strcat(a.“┏”);

    break;

    case TOPEDGE:

    strcat(a.“┯”);

    break;

    case RIGHTTOP:

    strcat(a.“┓”);

    break;

    case RIGHTEDGE:

    strcat(a.“┨”);

    break;

    case CROSS:

    strcat(a.“┼”);

    break;

    case BLACKCROSS:

    strcat(a.“╋”);

    break;

    case RIVEREDGE:

    strcat(a.“┴”);

    break;

    case JIANG:

    strcat(a.“将”);

    break;

    }

    }

    printf(a);

    printf(“\n”);

    }

    }

      注:这个程序运行前先要启动中文环境。




关闭窗口