题目:对于给定的输入n;按顺时针方向输出一个边长为n的“回”型数字方阵

首先,我们的主要思路就是,用一个标志来描述下一步走的方向,按顺时针方向依次为右、下、左、上。然后用一个循环把n*n方阵填满,最后输出即可。代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{int n,i=0,j=0,k=1,flag=0;//flag作标志,0向右,1向下,2向左,3向上scanf("%d",&n);//int arr[n][n];memset(arr,0,n*n);//C语言无法根据输入创建动态数组int arr[20][20]={0};//这里可以根据需要增加二维数组大小arr[0][0]=1;while(k<n*n)//依次填入n*n个数,每次根据标志确定填数位置(i,j){switch(flag){case 0://右{if(j<n-1&&arr[i][j+1]==0)//未到最右侧且右边的数为0{j++;k++;arr[i][j]=k;break;}else //标志改为向下{flag=(flag+1)%4;}}case 1:{if(i<n-1&&arr[i+1][j]==0)//未到最下侧且下面的数为0{i++;k++;arr[i][j]=k;break;}else //标志改为向左{flag=(flag+1)%4;}}case 2:{if(j>0&&arr[i][j-1]==0)//未到最左侧且左边的数为0{j--;k++;arr[i][j]=k;break;}else //标志改为向上{flag=(flag+1)%4;}}case 3:{if(i>0&&arr[i-1][j]==0)//未到最上侧且上一个数为0{i--;k++;arr[i][j]=k;break;}else //标志改为向右{flag=(flag+1)%4;}}}}//方阵赋值完成for(i=0;i<n;i++)//输出{for(j=0;j<n;j++){printf("%3d",arr[i][j]);if(j==n-1)printf("\n");}}system("pause");return 0;
}

输出“回”型数字方阵相关推荐

  1. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  2. 1295. 统计位数为偶数的数字(to_string 将整型数字变为字符串)

    给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 ...

  3. HG30-IIB型数字多功能校准仪

    HG30-IIB型数字多功能校准仪 品牌:华光高科 电话:0536-8222888 网址: www.wfhg.com.cn * QQ在线 ┆┆在线咨询 ┆┆阿里旺旺 ┆┆ 免费电话* DO30首选华光 ...

  4. 如何判断一个整型数字是不是对称数字

    如何判断一个整型数字是不是对称数字(用纯C语言实现) 比如输入是1569651是一个对称数字,而25则不是一个对称数字. 有两种判断方法: 1. 将输入的数字分解成一个个数字,然后进行判断. 2. 将 ...

  5. Java 判断是否为汉字 判断是否为乱码 判断字符串是否为双整型数字 整数 数字...

    /**   * 判断是否为汉字   *    * @param str   * @return   */  public static boolean isGBK(String str) {   ch ...

  6. C语言之字符串探究(七):atoi、itoa——整型数字和字符串的相互转换

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  7. python实现ssh登录后捕获回显_针对python的paramiko库ssh登录h3c设备print输出回显是空白的解决办法...

    print输出回显是一大片空白,但是你将结果write写进txt文本时,是有内容的,但是每行代码之间会有2行空白,不美观. result = stdout.read() 显示的是bytes字节字符串: ...

  8. js中的~~:转换成整型数字的神器(效率)

    将js中的对象.符号转换成整型数字的神器.java中无此操作. ~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的 ...

  9. Python每日一记127文本型数字转化为数值型数字(eval函数)

    不知道大家有没有注意到这样一个问题,那就是我们进行format数字格式化后,是文本型数字,这样是不能进行后续计算的,如何将其转化为数值型数字呢?这里我们不用int(),或者float() 这个时候我们 ...

最新文章

  1. python中True 为1 ,False为0
  2. python中的np where_numpy中的np.where
  3. pycharm 代码无法自动补全(自动顺带)的解决方法
  4. BSGS扩展BSGS
  5. Python_位_成员_身份运算符
  6. Python 内部:可调用对象是如何工作的
  7. 【Python】集合的交、并、补、差集怎么算?
  8. TCP和UDP套接字编程
  9. 【华科考研复试机试题】华中科技大学考研复试机试题解题报告
  10. 【硬盘整理】使用UltimateDefrag将常用文件放置在磁盘最外圈
  11. Leetcode每日一题:452.minimum-number-of-arrows-to-burst-balloons(最少数量的箭引爆气球)
  12. ajax提交不能获取数据,django无法收到ajax的请求数据
  13. webUploader大文件断点续传学习心得 多文件
  14. Illustrator CS6中文版从新手到高手pdf
  15. 步进电机基础(2.1)- 定子相数的分类、结构、原理
  16. C语言 输入一个正整数,判断它是素数还是合数
  17. 求最小公倍数 java
  18. 漫画 | 连绿巨人都想要了解的Greenplum
  19. bit、Byte、bps、Bps、pps、Gbps的单位详细说明及换算
  20. Python中使用Scrapy爬虫抓取上海链家房价信息

热门文章

  1. HTML中 符号 的 解码 与 转码
  2. Android中使用相机和相册获取照片,模仿朋友圈发说说
  3. Java菜鸟补给站--HTML,XML,以及解析XML
  4. java计算机毕业设计ssm同城绘本馆系统-绘本图书商城
  5. 机器人教学:人-机器人互动-理论与应用
  6. uml勤工助学管理系统java_勤工俭学管理信息系统的设计与实现-终稿.doc
  7. 统计机器学习导论第二章答案
  8. Android MediaExtractor + MediaCodec构建简单播放器
  9. ReactNative聊天APP实战|仿微信聊天/朋友圈/红包界面
  10. Honeywell手机安装扫描二维码功能配置