今天看到一题关于螺旋队列的题目。
输入一个n ,然后在屏幕上打印出NxN 的螺旋数列矩阵。
虽然实现了功能,但是感觉写的很差,没有创建动态二维数组,以及不够简洁。
每天坚持练习吧~~
void printCube(const int n)
{
int Array[N][N];
int round=(int)((n+1)/2);
int num=1;
int zhenghang=0;
int zhenglie=n-1;
int fuhang=n-1;
int fulie=0;
int DEX=0;
for(int i=round;i>0;i--)
{
for(int j=DEX;j<n-1-DEX;j++)
Array[zhenghang][j]=num++;
zhenghang++;
for(int j=DEX;j<n-1-DEX;j++)
Array[j][zhenglie]=num++;
zhenglie--;
for(int j=n-1-DEX;j>DEX;j--)
Array[fuhang][j]=num++;
fuhang--;
for(int j=n-1-DEX;j>DEX;j--)
Array[j][fulie]=num++;
fulie++;
DEX++;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
cout<<Array[i][j]<<" ";
cout<<endl;
}
}