C语言编程5*5阶的螺旋方阵

2025-03-11 03:33:26
推荐回答(1个)
回答1:

// S:~ 螺旋方阵,这是我以前写的代码,望lz满意
#include

int get(int x, int y, int lt, int n)
{
if(x == 0)
return lt+y;
else if(y == 0)
return lt+4*(n-1)-x;
else if(y == n-1)
return lt+n+x-1;
else if(x == n-1)
return lt+3*(n-1)-y;
else
return get(x-1, y-1, lt+4*(n-1), n-2);
}

int main(void)
{
int n, i, j;
scanf("%d", &n);
for(i = 0; i < n; ++i) {
for(j = 0; j < n; ++j)
printf("%2d ", get(i, j, 1, n));
putchar('\n');
}
return 0;
}