#include <stdio.h>#define N 4int main() { int i, j, k, t, a[N][N]; t = 1; for (i=1;i<=(N-1)/2+1;i++) { j=i-1; for (k=j;k<N-j;k++) a[j][k] = t++; for (k=j+1;k<N-j;k++) a[k][N-j-1] = t++; for (k=N-j-2;k>=j;k--) a[N-j-1][k] = t++; for (k=N-j-2;k>j;k--) a[k][j] = t++; } for (i = 0; i < N; printf("\n"), i++) for (j = 0; j < N; j++) printf("%d\t", a[i][j]); return 0; }
这里有人提了
(回复内容太短了)
{
int i, j, k, t, a[N][N];
t = 1;
for (i=1;i<=(N-1)/2+1;i++)
{
j=i-1;
for (k=j;k<N-j;k++) a[j][k] = t++;
for (k=j+1;k<N-j;k++) a[k][N-j-1] = t++;
for (k=N-j-2;k>=j;k--) a[N-j-1][k] = t++;
for (k=N-j-2;k>j;k--) a[k][j] = t++;
}
for (i = 0; i < N; printf("\n"), i++)
for (j = 0; j < N; j++)
printf("%d\t", a[i][j]);
return 0;
}