蛇形矩阵--斜着打印

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

int[][] ans=new int[n][n];

int count=0;

boolean flag=true;//检验是否要反转

for(int i=0;i<n;i++){

for(int j=0;j<=i;j++){

count++;//自动变化要存入的数

if(flag){//本质是利用直线上x,y和为定值

ans[i-j][j]=count;

}else{

ans[j][i-j]=count;

}

}

flag=!flag;//每次斜着打印完就反转一下

}

for(int i=n-1;i>0;i--){//注意到右下角的三角中两下标和为定值

for(int j=0;j<i;j++){

count++;//自动变化要存入的数

if(flag){//本质是利用直线上x,y和为定值

ans[n-1-j][n-i+j]=count;

}else{

ans[n-i+j][n-1-j]=count;

}

}

flag=!flag;//每次斜着打印完就反转一下

}

for (int i = 0; i < ans.length; i++) {

for (int j = 0; j < ans.length; j++) {

System.out.printf(ans[i][j]+" ");

}

System.out.println("");

}

}

}

全部评论

相关推荐

点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务