
方阵的主对角线之上称为“上三角”。
请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
例如:当n=3时,输出:
1 2 3
6 4
5
当n=4时,输出:
1 2 3 4
9 10 5
8 6
7
当n=5时,输出:
1 2 3 4 5
12 13 14 6
11 15 7
10 8
9
程序运行时,要求用户输入整数n(3~20)
程序输出:方阵的上三角部分。
要求格式:每个数据宽度为4,右对齐。
要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。
另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。
import java.util.Scanner;
public class Testtwo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("put n!");
int n=sc.nextInt();
int k=1;
int a[][]=new int[n][n];
for(int i=0;i for(int j=i ;j a[i][j]=k; k++; } for(int j=i;j a[j][n-1-i-j]=k; k++; } for(int j=i;j a[n-1-i-j][i]=k; k++; } } if((n-1)%3==0) a[(n-1)/3][(n-1)/3]=k; for(int i=0;i for(int j=0;j if(a[i][j]==0) continue; if(a[i][j]<10) System.out.print(a[i][j]+" "); else if(a[i][j]<100) System.out.print(a[i][j]+" "); else System.out.print(a[i][j]+" "); } System.out.println(""); } } }
