ch2_8_1求解n阶螺旋矩阵问题

思路:循环输出,注意边界控制


import java.util.Scanner;

public class ch2_8_1求解n阶螺旋矩阵问题 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		while(n!=0) {
			
			print(n);
			n=in.nextInt();
		}
	}

	private static void print(int n) {
		// TODO Auto-generated method stub
		int a[][]=new int[n][n];
		int num=1;
		int i=0,j=0;
		while(num<=n*n) {
			while(j<n&&a[i][j]==0)
				a[i][j++]=num++;
			j--;i++;
			while(i<n&&a[i][j]==0)
				a[i++][j]=num++;
			i--;j--;
			while(j>=0&&a[i][j]==0)
				a[i][j--]=num++;
			j++;i--;
			while(i>=0&&a[i][j]==0)
				a[i--][j]=num++;
			i++;j++;
		}
		for(int m=0;m<n;m++) {
			for(int k=0;k<n;k++) {
				System.out.print(a[m][k]+" ");
				
			}
			System.out.println();
		}
	}

}

 

全部评论

相关推荐

dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
某牛奶:一觉醒来全球程序员能力下降200%,小伙成功scanf惊呆在座个人。
点赞 评论 收藏
分享
Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务