文章
19
粉丝
0
获赞
137
访问
2.9k
printf("%-4d", arr[i][j]); 注意格式化输出
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
int arr[21][21] = { 0 };
int i = 0, j = 1;
for (int k = 1; k <= n * n; k++) {
i++;
while (i <= n && arr[i][j] == 0) {
arr[i][j] = k++;
i++;
}
i--;
//printf("[1:%d:%d]", i, j);
j++;
while (j <= n && arr[i][j] == 0) {
arr[i][j] = k++;
j++;
}
j--;
//printf("[2:%d:%d]", i, j);
i--;
while (i > 0 && arr[i][j] == 0) {
arr[i][j] = k++;
i--;
}
i++;
//printf("[3:%d:%d]", i, j);
j--;
while (j > 0 && arr[i][j] == 0) {
arr[i][j] = k++;
j--;
}
j++;
//printf("[4:%d:%d]", i, j);
k--;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%-4d", arr[i][j]);
}
printf("\n");
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发