#include<stdio.h>
#define N 10
int data[N][N]={0};
void Full(int number,int begin,int size);
void OutPrint(int n);
int main()
{
int n;
scanf("%d",&n);//请输入方阵的阶数
Full(1,0,n);
OutPrint(n);
return 0;
}
void Full(int number,int begin,int size)
{
int i,j,k;
if(size==0)
return ;
if(size==1)
{
data[begin][begin]=number;
return;
}
i=begin;
j=begin;
for(k=0;k<size-1;k++)
{
data[i][j]=number;
number++;
i++;
}
for(k=0;k<size-1;k++)
{
data[i][j]=number;
number++;
j++;
}
for(k=0;k<size-1;k++)
{
data[i][j]=number;
number++;
i--;
}
for(k=0;k<size-1;k++)
{
data[i][j]=number;
number++;
j--;
}
Full(number,begin+1,size-2);
return;
}
void OutPrint(int n)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d",data[i][j]);
}
printf("\n");
}
return;
}
数组旋转方阵
最新推荐文章于 2022-02-09 15:34:20 发布