A1033. 绘制图形
问题描述
找出下面给出图形的规律,给出n,画一个n行的对应图形。
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
输入格式
输入包含一个数n。1<=n<=30
输出格式
输出与上图类似n行的图形。
样例输入
4
样例输出
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
12 13 14 5
11 16 15 6
10 9 8 7
package www.tsinsen.com; import java.util.Scanner; public class A1033 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int[][] arr=new int[n][n]; int count=0,i=0,j=n-1; int k; while(count<n*n) { //从左往右 for(k=i;k<=j;k++) {arr[i][k]=++count;} //从上往下 for(k=i+1;k<=j;k++) {arr[k][j]=++count;} //从右往左 for(k=j-1;k>=i;k--) {arr[j][k]=++count;} //从下往上 for(k=j-1;k>i;k--) {arr[k][i]=++count;} i++; j--; } for(int l=0;l<n;l++) { for(int m=0;m<n;m++) { System.out.print(arr[l][m]+" "); } System.out.println(); } } }