文章
84
粉丝
2
获赞
597
访问
25.2k
#include<iostream>
#include<cstdio>
using namespace std;
int s[25][25];
int main() {
int n;
cin >> n;
int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
int dir = 0;
for (int x = 0, y = 0, k = 1; k <= n * n; k ++ ) {
s[x][y] = k;
x += dx[dir], y += dy[dir];
if (x < 0 || y < 0 || x >= n || y >= n || s[x][y] != 0) {
x -= dx[dir], y -= dy[dir];
dir = (dir + 1) % 4;
x += dx[dir], y += dy[dir];
}
}
for (int i = 0; i < n; i ++) {
for (int j = 0; j < n; j ++) {
printf("%-4d",s[i][j]);
}
cout << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发