import java.io.*;
public class snake
{
public static void main(String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入蛇形矩阵的环数:");
String x=br.readLine();//从键盘输入一个数
int num=Integer.parseInt(x);//将从键盘输入的一个数转换成整数
int [][]a=new int [num][num];//声明一个二维数组
int k=1;//定义一个加数器
for(int i=0;i<num/2;i++)//控制蛇形矩阵的圈数
{
for(int j=i;j<num-i;j++)//遍历最上面一行
a[i][j]=k++;//为最上面的一行赋值
for(int j=i+1;j<num-i;j++)//遍历最右边一行
a[j][num-i-1]=k++;//为最后面一行赋值
for(int j=num-2-i;j>=i;j--)//遍历最下面一行
a[num-i-1][j]=k++;//为最下面一行赋值
for(int j=num-i-2;j>i;j--)//遍历最左边一行
a[j][i]=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();
}
}
}
分享到:
相关推荐
顺时针打印矩阵 输入一个矩阵,按照从外到里以顺时针的顺序依次打印出每一个数字。 例如:左图矩阵,按顺时针打印出的结果是:1、2、3、4、8、12、16、15、14、13、9、5、6、7、8、12、11、10 要求: 高效 分析时空...
顺时针打印矩阵.md
java基础面试题顺时针打印矩阵本资源系百度网盘分享地址
主要为大家详细介绍了java实现顺时针打印矩阵的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
示例 1:输出:[1,2,3,6,9,8,7,4,5]示例 2:输出:[1,2,3,4,8,12,11,10,9,5,6,7]解题思路:递归输出 先考虑并控制最
主要为大家详细介绍了Java顺时针打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
我的算法是顺时针旋转矩阵的同心圆 首先,输入矩阵应具有的维数(必须为正方形矩阵)。 该矩阵将由整数组成。 其次,将矩阵中的数字逐行输入,并用空格隔开。 请参阅下面的输入和输出示例。 程序输入: 2 1 2 ...
利用C语言解决顺时针打印二维数组中的元素问题,该程序中涉及如何修改指针的方向等问题
代码拥有详细的注释 用来初学C++交流使用 同样初学者可以加一起学习
面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下 问题描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵: 则依次打印出数字1,2,3,4,8,12,16,15,14,13,...
用c语言实现矩阵不同方式的输出,应用循环语句,嵌套定义。三种方式之间的转换。
简介:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。题解 1 - typescript编辑时间:2020.6.5执行用时:96ms内存消耗:39
主要介绍了golang顺时针打印矩阵的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要为大家详细介绍了java编程题之顺时针打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
# matrix类型为二维列表,需要返回列表# 循环继续的条件# 每圈开始的坐标 (0,0) (1,1) (2,2) ...# 每次打印一圈# 从左到右打印一行
主要介绍了PHP实现顺时针打印矩阵(螺旋矩阵)的方法,涉及PHP基于数组遍历、运算模拟打印实现螺旋矩阵功能的相关操作技巧,需要的朋友可以参考下
js代码-螺旋矩阵,按顺时针生成矩阵
[[1, 1, 1, 1, 1, 1, 1],[1, 2, 2, 2, 2, 2, 1],[1, 2, 3, 3, 3, 2, 1],[1, 2, 2, 2,