您的位置:首页 > 其它

第二届2011年国信蓝点杯软件设计大赛预赛的试题上三角

2017-03-14 17:46 246 查看
package java_gaozhi_2011;

import java.util.Scanner;

/*方阵的主对角线之上称为“上三角”。

请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:

使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。

*/

public class Task_9 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] s = new int

;
int sum = 1;
int i;

for( i=0;i<n;i++){
for(int j=i;j<n-1-i*2;j++){
s[i][j] = sum++;
}
for(int j=i;j<n-1-i*2;j++){
s[j][n-1-i-j] = sum++;
}
for(int j=i;j<n-i*2-1;j++){
s[n-1-i-j][i] = sum++;
}

}
if((i-1)%3==0){
s[(n-1)/3][(n-1)/3]=sum;
}
for(int c =0;c<n;c++){
for(int j =0;j<n;j++){
if(s[c][j]==0){
continue;
}
System.out.print(s[c][j]+"  ");
}
System.out.println();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: