dabocaiqq
2020-07-08 17:41
采纳率: 66.6%
浏览 150

高分悬赏:Java语言如何实现蛇形矩阵,输出入下:

输入4
输出
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 毕小宝 2020-07-17 06:53
    已采纳

    看不出你这个矩阵的规律,除非你维护了矩阵的信息,直接硬性按这个信息输出。

    已采纳该答案
    打赏 评论
  • 浴火_凤凰 2020-07-08 19:56
    import java.util.Scanner;
    
    /**
     * 蛇形矩阵
     * @author Administrator
     *
     */
    public class Demo {
        public static void main(String[] args) {
            Scanner s=new Scanner(System.in);
            System.out.println("请输入您想要的行数:");
            int num=s.nextInt();
            System.out.println("您输入的行数是:"+num);
            System.out.println("打印后的蛇形矩阵是:");
            int start=1;
            int end=num;
            int[][] a=new int[num][num];
            int b=0;
    
            while(start<end){
                for (int i = start; i < end; i++) {
                    b++;
                    a[start-1][i-1]=b;
                }
                for(int i=start;i<end;i++){
                    b++;
                    a[i-1][end-1]=b;
                }
                for(int i=end;i>start;i--){
                    b++;
                    a[end-1][i-1]=b;
                }
                for(int i=end;i>start;i--){
                    b++;
                    a[i-1][start-1]=b;
                }
                start++;
                end--;
            }
            //奇数加1
            if (num%2!=0) {
                b++;
                a[num/2][num/2]=b;
            }
            for (int i = 0; i < a.length; i++) {
                for (int j = 0; j < a[i].length; j++) {
                    System.out.print(a[i][j]+"\t");
                }
                System.out.println();
                System.out.println();
            }
        }
    }
    

    看看这个可以不

    打赏 评论

相关推荐 更多相似问题