题目描述:
方阵的主对角线之上称为“上三角”。
package string_pracitice;
import java.util.Scanner;
public class SpiralDemo3 {
public static void main(String[] args) {
new SpiralDemo3().run();
}
public void run(){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int value[][] = new int[n][n];
int direction = 1; // 1向右,0向左下,2向上
int x=0;
int y=0;
for(int i=0;i<((1+n)*n)/2;i++){
if(value[y][x]==0){
value[y][x]=i+1;
if(direction==1){//向右
if(x+1<n&&value[y][x+1]==0){
x++;
}else{
direction=0;
x--;
y++;
}
}else if(direction==0){//向左下
if(y+1<n&&x-1>=0&&value[y+1][x-1]==0){
x--;
y++;
}else{
direction=2;//向上
y--;
}
}else{//向上
if(y-1>=0&&value[y-1][x]==0){
y--;
}else{
direction=1;
x++;
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n-i;j++){
if(j == 0)
System.out.print(value[i][j]);
else{
System.out.print(" "+value[i][j]);
}
}
System.out.println();
}
}
}
要求格式:每个数据宽度为4,右对齐。
原文:http://blog.csdn.net/u014010769/article/details/44676653