n阶回形矩阵

public class Solution{
    public static void printJZ(int n){
        int [][]A=new int[n][n];
        int t=1;
        int i=0;
        int j=0;
        for(int k=0;k<n/2;k++){//k代表第几圈
            for(i=k,j=k;j<n-k-1;j++){//第一条边
                A[i][j]=t++;
            }
            for(i=k,j=n-k-1;i<n-k-1;i++){//第二条边
                A[i][j]=t++;
            }
            for(i=n-k-1,j=n-k-1;j>k;j--){//第三条边
                A[i][j]=t++;
            }
            for(i=n-k-1,j=k;i>k;i--){//第四条边
                A[i][j]=t++;
            }
 
 
        }
        if(n%2==1){
            A[n/2][n/2]=t;
        }
 
        for(i=0;i<n;i++){
            for (j=0;j<n;j++) {
                System.out.print(A[i][j]+" ");
            }
            System.out.println();
        }
    }

	public static void main(String[]args){
        printJZ(11);
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务