#include <stdio.h> #include <string.h> int main() { int m, n; char x[100][100]; char temp = 'A'; int y[2] = { 0,0 }; int z[4][2] = { {0,1},{1,0},{0,-1},{-1,0} }; int k = 0; scanf("%d %d", &m, &n); for (int i = 0;i < m;i++) { for (int j = 0;j < n;j++) { x[i][j] = '\0'; } } for (int i = 0;i < m*n;i++) { if (y[0]<=m-1&&y[0]>=0&&y[1]>=0&&y[1]<=n-1&&x[y[0]][y[1]]=='\0') { if (temp > 'Z') { temp = 'A'; } x[y[0]][y[1]] = temp; temp++; y[0] += z[k][0]; y[1] += z[k][1]; } else { y[0] += z[(k + 2) % 4][0]; y[1] += z[(k + 2) % 4][1]; k++; if (k > 3) { k = 0; } if (x[y[0] + z[k][0]][y[1] + z[k][1]] != '\0') { break; } else { y[0] += z[k][0]; y[1] += z[k][1]; i--; } } } for (int i = 0;i < m;i++) { for (int j = 0;j < n;j++) { printf(" %c", x[i][j]); } printf("\n"); } } |
Double click to view unformatted code.