`
郑云飞
  • 浏览: 818229 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

逆序蛇形矩阵

J# 
阅读更多
/*作者:郑云飞
 * 创建日期:2010年6月16日端午节下午16:24分
 * 内容:逆时针的蛇形矩阵
 */
import java.io.*;
public class snake1 
{
 public static void main(String[] args) throws IOException
 {
       BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       System.out.println("请输入蛇形矩阵的环数:");
       String str=br.readLine();
       int num=Integer.parseInt(str);
       int k=1;//声明一个累加器
       int [][]a=new int [num][num];//声明一个二维数组
       for(int i=0;i<num/2;i++)//控制蛇形矩阵的圈数
       {
          for(int j=i;j<num-i;j++)//遍历最左边一行
           a[j][i]=k++;//为最左边一行赋值
          for(int j=i+1;j<num-i;j++)//遍历最下边一行
           a[num-i-1][j]=k++;//为最下边一行赋值
          for(int j=num-i-2;j>=i;j--)//遍历最右边一行
           a[j][num-i-1]=k++;//为最右边一行赋值
          for(int j=num-i-2;j>i;j--)//遍历最上面一行
           a[i][j]=k++;//为最上面一行赋值
       }
          if(num%2==1)//如果输入的数是基数
        a[num/2][num/2]=k;//为最后一个数赋值
  for(int i=0;i<num;i++)//输出结果
  {
   for(int j=0;j<num;j++)
   {
    System.out.print(a[i][j]+"\t");
   }
   System.out.println();
  }

 }

}

 

 

  • 大小: 70.7 KB
3
2
分享到:
评论

相关推荐

    蛇形矩阵(用二元数组实现)

    - 进一步的拓展包括逆序输出蛇形矩阵,或者填充自定义的数据结构,比如字符串或自定义对象。 通过上述步骤,你就可以在C++中实现蛇形矩阵了。这种问题有助于提高对数组操作的理解,同时锻炼逻辑思维和问题解决能力...

    Python笔试题之蛇形矩阵:

    输入一个正整数N(N不大于100),输出一个n行的蛇形矩阵。 示例输入: 5 示例输出: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 解法一: while True: try: N = int(input()) tmp_begin = 1 # 第一行的数 for i in ...

    回环阵列蛇形阵列

    根据给定文件的信息,我们可以分析出这是一个C++程序,它主要实现了三种不同的矩阵填充方法:回环矩阵(check_matrix_round)、蛇形矩阵(check_matrix_snake)以及逆序矩阵(check_matrix_reverse)。接下来,我们...

    华为OD机试题C语言版

    HJ35 蛇形矩阵 HJ37 统计每个月兔子的总数 HJ4 字符串分隔 HJ40 统计字符 HJ5 进制转换 HJ53 杨辉三角的变形 HJ56 完全数计算 HJ6 质数因子 HJ7 取近似值 HJ73 计算日期到天数转换 HJ8 合并表记录 HJ84 统计大写字母...

    华为机试华为OD机试算法题Python源码(41道).zip

    汽水瓶.py,求int型正整数在内存中存储时1的个数.py,求小球落地5次后所经历的路程和第5次反弹的高度.py,取近似值.py,删除字符串中出现次数最少的字符.py,蛇形矩阵.py,识别有效的IP地址和掩码并进行分类统计.py,输入一...

    编程题刷的题库

    2. **华为 - 旋转蛇形矩阵.c** 这是一个经典的矩阵操作问题,通常要求按照“之”字形顺序填充或打印矩阵。涉及的知识点包括:多维数组的操作,循环结构,以及对二维数组的索引理解。 3. **华为 - 成绩排序.c** 这...

    华为机试108题源码(题目&&解答)

    ├─031 蛇形矩阵 │ └─Source │ └─Debug ├─033 判断IP是否属于同一子网 │ └─Source │ └─Debug ├─034 称砝码 │ └─Source │ └─Debug ├─035 学英语 │ └─Source │ └─Debug ├─036 迷宫...

    java入门必做题目

    最后,将所有余数按逆序排列,即得到N进制的表示。 6. **矩阵填数** - **倒填**:从矩阵的右下角开始,沿着对角线向上向左填充数字,每次移动时改变行或列的索引。 - **蛇形填数**:从左上角开始,按蛇形路径填充...

    C++经典编程题目值得学习

    蛇形填数则需要交替在矩阵的行或列之间切换填充方向;回转填数则要求在矩阵的四条边上轮流填充,然后不断旋转90度进行下一轮填充。这类题目对于锻炼对循环结构和条件控制的理解与运用至关重要。 在解决这些C++经典...

    c语言经典例子 编程入门

    填充矩阵有多种方法,如倒填、蛇形填数和回转填数。倒填是指从一角开始,按顺序递减填充;蛇形填数是从左上角开始,行间交替方向填充;回转填数则是从中心点开始,按照顺时针或逆时针方向填充。这些题目可以帮助你...

    Java入门题目集合

    - **倒填**:这是一种简单的填充方式,只需要从中间开始,按行或列逆序填充即可。 - **蛇形填数**:也称为棋盘填充,需要两个指针分别追踪行和列,交替填充。每次填充后,根据填充方向调整行或列指针。 - **回转...

    C入门76题

    题目给出了三种矩阵填数的方式:倒填、蛇形填数、回转填数,并要求编程实现。 **解题思路:** 1. **倒填:** 从最后一个元素开始,按照顺序填充矩阵。 2. **蛇形填数:** 逐行填充,偶数行从右向左填充。 3. **...

    算法分析中级训练

    **题目描述**:对于一个N*N的矩阵,要求用程序按倒填、蛇形填数和回转填数的方式填充数字。 **解题思路**:这道题目的核心在于理解每种填充方式的规律,然后通过循环结构实现。对于倒填,可以从N*N开始逆序填充;...

Global site tag (gtag.js) - Google Analytics