/*作者:郑云飞
* 创建日期:2010年6月16日端午节下午16:24分
* 内容:逆时针的蛇形矩阵
*/
import java.io.*;
public class snake1
{
public static void main(String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入蛇形矩阵的环数:");
String str=br.readLine();
int num=Integer.parseInt(str);
int k=1;//声明一个累加器
int [][]a=new int [num][num];//声明一个二维数组
for(int i=0;i<num/2;i++)//控制蛇形矩阵的圈数
{
for(int j=i;j<num-i;j++)//遍历最左边一行
a[j][i]=k++;//为最左边一行赋值
for(int j=i+1;j<num-i;j++)//遍历最下边一行
a[num-i-1][j]=k++;//为最下边一行赋值
for(int j=num-i-2;j>=i;j--)//遍历最右边一行
a[j][num-i-1]=k++;//为最右边一行赋值
for(int j=num-i-2;j>i;j--)//遍历最上面一行
a[i][j]=k++;//为最上面一行赋值
}
if(num%2==1)//如果输入的数是基数
a[num/2][num/2]=k;//为最后一个数赋值
for(int i=0;i<num;i++)//输出结果
{
for(int j=0;j<num;j++)
{
System.out.print(a[i][j]+"\t");
}
System.out.println();
}

}

}



 


 ​​​