请大神帮忙看看,为什么没有输出?
程序代码:
/*输出环形矩阵,如: 输入 5 6 效果如下 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 */ #include<cstdio> void main() { const int max=30; int m,n; int a[max][max]; printf("input the integer m,n"); scanf("%d,%d",&m,&n); int k=0; //一圈为一层,层数 int counter=1; while(counter<=m*n) { for(int i=k,j=k;j<=n-k-1;j++) //向右 { a[i][j]=k+1; counter++; } for(int i=k+1,j=n-k-1;i<=m-k-1;i++) //向下 { a[i][j]=k+1; counter++; } for(int i=m-k-1,j=n-k-2;j>=k;j--) //向左 { a[i][j]=k+1; counter++; } for(int i=m-k-2,j=k;i>k;i--) //向上 { a[i][j]=k+1; counter++; } k++; } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { printf("%4d ",a[i][j]); } printf("\n"); } }