#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
int m,n,i,j;
cin>>m>>n;
cout<<m<<n<<endl;
int **data=new int*[m];
for(i=0;i<m;i++)
data[i]=new int[n];
int k=1,temp;
int count=m>n?n:m;
for(i=0;i<=count/2;i++)
{
for(j=i;j<n-i;j++)
data[i][j]=k++;
j--; //处理j,否则会越界
for(temp=i+1;temp<m-i;temp++)
data[temp][j]=k++;
temp--; ////处理temp,否则会越界
for(j--;j>i;j--)
data[temp][j]=k++;
for(;temp>i;temp--)
data[temp][j]=k++;
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
cout<<setw(3)<<data[i][j];
cout<<endl;
}
}结果如下:螺旋矩阵实现
最新推荐文章于 2019-03-01 21:36:00 发布
8401

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



