您的位置:首页 > 其它

旋转矩阵

2015-09-21 16:57 260 查看

//输入一个整数n,1~~n*n的数顺时针旋转得到一个矩阵

package helloword;

import java.util.Scanner;

public class spainmatrix {

 public static void main(String[] args) {

  int[][] a=new int[20][20];

  Scanner input = new Scanner(System.in);

  int n = input.nextInt();

  int count=1;

  for(int k=0;k<n/2;k++)                               //k+1为旋转圈数

  {

   for(int j=k;j<n-k-1;j++)

   {

    a[k][j]=count;                                           //用count来记录数字,相当于一个数字计数器。自加

       count++; 

   }

   for(int i=k;i<n-k-1;i++)                               

   {

    //a[i+k][n-1-k]=count;

    a[i][n-k-1]=count;

    

    count++;

   }

    for(int i=n-1-k;i>k;i--)

    {

     a[n-1-k][i]=count;

     count++;

    }

    for(int i=n-1-k;i>k;i--)

    {

     a[i][k]=count;

     count++;

    }

    

  }

  if(n%2!=0)

   a[n/2][n/2]=n*n;

  for(int i=0;i<n;i++){

   for(int j=0;j<n;j++)

    System.out.printf(a[i][j]+"    ");

      System.out.println();

      input.close();

  }

 }

   

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: