0
点赞
收藏
分享

微信扫一扫

P5731 【深基5.习6】蛇形方阵 java

IT程序员 2022-04-04 阅读 42
javaeclipse
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int n;
        //这里的数组大小设置的大一点就行
		int a[][]=new int[15][15];
		int x=1,y=1,mark=1;
		Scanner sc=new Scanner(System.in);
		n=sc.nextInt();
		a[x][y]=1;
		
		while(mark<n*n) {
			while(a[x][y+1]==0 && y+1<=n) {//判断如果向右走到底边界以及右边可能有数的情况
				y++;
				mark++;
				a[x][y]=mark;
			}
			while(a[x+1][y]==0 && x+1<=n) {//下
				x++;
				mark++;
				a[x][y]=mark;
			}
			while(a[x][y-1]==0 && y-1>=1) {//左
				y--;
				mark++;
				a[x][y]=mark;
			}
			while(a[x-1][y]==0 && x-1>=1) {//上
				x--;
				mark++;
				a[x][y]=mark;
			}
		}
		for(int i=1;i<=n;i++) {
			for(int j=1;j<=n;j++) {
				System.out.printf("%3d",a[i][j]);
			}
			System.out.println();
		}
	}

}


 

举报

相关推荐

0 条评论