📄 1099.c
字号:
#include <stdio.h>#include <string.h>char w[43][48];char r[43][48];char s[4][48];int p[11][11];void init(){ int i; for (i = 0; i < 12; i++) { s[0][i*4+0]=s[0][i*4+2]=' '; s[0][i*4+1]='H'; s[0][i*4+3]='O'; s[1][i*4+0]=s[1][i*4+1]=s[1][i*4+2]=s[1][i*4+3]=' '; s[2][i*4+0]=s[2][i*4+1]=s[2][i*4+2]=' '; s[2][i*4+3]='H'; s[3][i*4+0]=s[3][i*4+1]=s[3][i*4+2]=s[3][i*4+3]=' '; } for (i = 0; i < 10; i++) memmove(w+i*4+1, s, sizeof(s)); memmove(w+i*4+1, s, sizeof(s[0]));}void creat(int m){ int i, j; for (i = 0; i < 4*m+3; i++) r[0][i] = r[4*m-2][i] = '*'; for (i = 1; i < 4*m-2; i++) memmove(r+i, w+i, 4*m+3); for (i = 0; i < m; i++) for (j = 0; j < m; j++) { scanf("%d", p[i]+j); if (p[i][j] == 1) r[4*i+1][4*j+2]=r[4*i+1][4*j+4]='-'; if (p[i][j] == -1) r[4*i][4*j+3]=r[4*i+2][4*j+3]='|'; } for (i = 0; i < m; i++) for (j = 0; j < m; j++) { if (p[i][j]) continue; if (i && r[4*i-2][4*j+3] == ' ') r[4*i][4*j+3] = '|'; else r[4*i+2][4*j+3] = '|'; if (r[4*i+1][4*j] == ' ') r[4*i+1][4*j+2] = '-'; else r[4*i+1][4*j+4] = '-'; } for (i = 0; i < 4*m-1; i++) { r[i][0] = r[i][4*m+2] = '*'; r[i][4*m+3] = 0; }}void display(int m){ int i; for (i = 0; i < 4*m-1; i++) puts(r[i]);}int main(void){ int m, t = 0; init(); while (scanf("%d", &m), m) { if (t++) putchar('\n'); creat(m); printf("Case %d:\n\n", t); display(m); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -