1
unknown
c_cpp
3 years ago
1.0 kB
11
Indexable
#include <stdio.h>
char sprl[5005][5005];
int main(){
int t, n;
int index, x, y;
int b, tmp_n; //b:走幾步
int dir_x[4] = {0,1,0,-1};
int dir_y[4] = {1,0,-1,0}; //右 下 左 上
scanf("%d", &t);
for(int i = 0; i < t; i++){
scanf("%d", &n);
for(int j = 0;j < n; j++){
for(int k = 0; k < n; k++){
sprl[j][k] = ' ';
}
}
index = 0; x = 0; y = -1;
b = 0; tmp_n = n;
do{
//是否轉彎
if(!(b < tmp_n)){
index = (index + 1) % 4;
tmp_n--;
b = 0;
}
//直走
x = x + dir_x[index];
y = y + dir_y[index];
b++;
sprl[x][y] = '#';
}while(tmp_n > 1);
for(int j = 0; j < n; j++){
for(int k = 0;k < n; k++){
printf("%c",sprl[j][k]);
}
printf("\n");
}
}
}Editor is loading...