|
举例
例:在屏幕上画半个象棋残局,如图:
┏┯┯┯将┯┯┯┓ ┠┼┼┼┼┼┼┼┨ ┠╋┼┼┼┼┼╋┨ ┣┼╋┼╋┼╋┼┫ ┠┴┴┴┴┴┴┴┨ 有多种方法,但如果我们以后还要考虑棋子的移动,最方便的方法是使用二维数组。 #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”); } } 注:这个程序运行前先要启动中文环境。 关闭窗口 |