螺旋数组是指将给定的存储连续自然数的二维数组中的数字从最外层开始以顺时针形式输出
{ {1,2, 3, 4},
{ 12, 13, 14, 5},
{ 11, 16, 15, 6},
{ 10, 9, 8, 7}}
#include <stdio.h>
#define N 4
int main() {
int m=1;
int a[N][N];
for (int i = 0; i <= N/2 ; ++i) {
for (int j = i; j < N-i; ++j) {
a[i][j]=m++;
}
for (int j = i+1; j <N-i ; ++j) {
a[j][N-i-1]=m++;
}
for (int j = N-i-2; j >= i ; j--) {
a[N-i-1][j]=m++;
}
for (int j = N-i-2; j >=i+1 ; j--) {
a[j][i]=m++;
}
}
for (int i = 0; i < N; ++i) {
for (int j = 0; j < N; ++j) {
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
446

被折叠的 条评论
为什么被折叠?



