下面是一个5*5的螺旋矩阵,试编程打印出此形式的n*n(n

1、         下面是一个5*5的螺旋矩阵,试编程打印出此形式的n*n(n<10)阶的方阵。

               1       2      3      4       5

               16     17   18     19    6

               15     24    25    20    7

               14     23   22    21     8

               13     12    11   10     9   


 #include
#define  N  10
int main()
{
int i,j,k,s,n;
int a[N][N];
printf("想要几乘几的矩阵,说吧\n");
scanf("%d",&n);
k=1;s=0;i=0;
while (k<=n*n){
for (j=s;j a[i][j]=k++;
}
j--;
for (i=s+1;i a[i][j]=k++;
}
i--;
for (j=n-s-2;j>=s;j--){
a[i][j]=k++;
}
j++;
for (i=n-s-2;i>=s+1;i--){
a[i][j]=k++;
}
i++;
s++;
}
for (i=0;i for (j=0;j printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}


你可能感兴趣的:(c源码)