#include<stdio.h> int main(void) { int k=0; int m,n; int i,j,t=1; int a [n]; printf("Please input 矩阵的行数:"); scanf("%d",&m); printf("Please input 矩阵的列数:"); scanf("%d",&n); while(k!=m*n) { for(i=t-1,j=t-1;j<=n-t && k<m*n;j++) a[i][j]=++k; for(j=j-1,i=i+1;i<=m-t && k<m*n;i++) a[i][j]=++k; for(i=i-1,j=j-1;j>=t-1 && k<m*n;j--) a[i][j]=++k; for(j=j+1,i=i-1;i>=t && k<m*n;i--) a[i][j]=++k; t++; } for(i=0;i<m;i++) //屏幕打印 { for(j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n"); } return 0; }