P5731 【深基5.习6】蛇形方阵

2023-11-17

题目描述

给出一个不大于 9 的正整数 n,输出n×n 的蛇形方阵。

从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。

输入格式

输入一个正整数 n,含义如题所述。

输出格式

输出符合题目要求的蛇形矩阵。

输入输出样例

输入 #1复制

4

输出 #1复制

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

说明/提示

数据保证,1≤n≤9。

#include <stdio.h>
int main()
{
	int i,j,n,k=1,t;
	int a[100][100];
	scanf("%d",&n);
	if(n%2==0) t = n/2; //t为圈数
	else t = n/2+1;    
	for(i=0;i<t;i++){  //控制圈数
		
		for(j=i;j<n-i;j++)           //从左往右将数字存入数组对应位置
		  a[i][j]=k++;
		
		for(j=i+1;j<n-i;j++)         //从上往下将数字存入数组对应位置  
		  a[j][n-i-1]=k++;
		
		for(j=n-i-2;j>=i;j--)        //从右往左将数字存入数组对应位置  
		a[n-1-i][j]=k++;
		
		for(j=n-2-i;j>=i+1;j--)      //从下往上将数字存入数组对应位置  
		  a[j][i]=k++;
		  
	}
	
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			printf("%3d",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

实现过程;将循环方阵,从外往里数圈层,发现方阵边长n与方阵圈数有关系;

当n为偶数,方阵有n/2圈,n为奇数,方阵有n/2+1圈;于是外层循环i控制圈数

里面用四个循环,按照顺序用四个循环,左→右→下→左→上,走完一圈。把k值

赋给对应数组位置,在循环结束后,输出方阵即可。

i=1时

 i=2时

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

P5731 【深基5.习6】蛇形方阵 的相关文章

  • cmake(三十二)Cmake之find_package指令

    一 cmake帮助文档 find package命令详解 1 help command list cmake 内置命令 列表 2 help comamnd
  • 使用LogHub进行日志实时采集

    日志服务LogHub功能提供日志数据实时采集与消费 其中实时采集功能支持30 种手段 这里简单介绍下各场景的接入方式 数据采集一般有两种方式 区别如下 我们这里主要讨论通过LogHub流式导入 实时 采集 方式 优势 劣势 例子 批量导入
  • QSS-Qt样式表一

    QSS即Qt StyleSheet Qt样式表 的简称 是一种用来自定义控件外观的强大机制 QSS可以让我们的程序界面更加漂亮 每条QSS样式都由两部分组成 1 选择器 该部分指定要美化的控件 2 声明 该部分指定要在控件上使用的属性 声明
  • 一直在说高并发,多少QPS才算高并发?

    高并发的四个角度 只说并发不提高可用就是耍流氓 可以从四个角度讨论这个问题 首先是无状态前端机器不足以承载请求流量 需要进行水平扩展 一般QPS是千级 然后是关系型数据库无法承载读取或写入峰值 需要数据库横向扩展或引入nosql 一般是千到
  • XShell连接ubuntu20.04.LTS

    1 下载Xshell XShell官方下载地址 打开XSHELL官方下载地址 我们可以选择 家庭和学校用户的免费许可证 输入邮箱之后即可获得下载链接 安装非常简单 跟着提示进行即可 2 连接ubuntu 2 1 查看ubuntu的ip地址

随机推荐

  • Vue 父子组件通信v-model .sync修饰符

    一 v model简化父子组件通信 v model是什么 v model 是Vue框架的一种内置的API指令 本质是一种语法糖写法 它负责监听用户的输入事件以更新数据 并对一些极端场景进行一些特殊处理 v model实现表单的双向绑定
  • 算法:回文链表

    234 回文链表 给你一个单链表的头节点 head 请你判断该链表是否为回文链表 如果是 返回 true 否则 返回 false 示例 1 输入 head 1 2 2 1 输出 true 示例 2 输入 head 1 2 输出 false
  • ReID专栏(三) 注意力的应用

    前言 本文中提出了一种用于行人重识别的注意感知特征学习方法 该方法由一个部分注意分支 PAB 和一个整体注意分支 HAB 组成 并与基础再识别特征提取器进行了联合优化 由于这两个分支建立在主干网络上 因此没有为ReID特征提取引入额外的结构
  • 客户管理系统CRM表格版,含销售合同客户关系维护等功能

    客户管理系统CRM表格版 含销售合同客户关系维护等功能 系统由EXCEL开发 绿色安全 简单好用 送VBA宏插件编号 139653845009471设计师儿
  • 来自国际大厂Cloudflare的免费项目cloudflared

    在此之前 大家可以先去看看项目 https github com cloudflare cloudflared 事先声明 本人使用Ubuntu2204系统搭建 理论上适合Debian系Linux系统 Redhat系需要修改相关命令 其他系统
  • super和this关键字

    一 super关键字的应用场景 1 访问父类的成员变量 2 访问父类的构造函数 3 访问父类的方法 二 super关键字的使用 class Animal protected String name 注意 若限定符是private 子类无法使
  • 项目中都要掌握的BAPI之过账BAPI “ BAPI_ACC_DOCUMENT_POST”

    SAP FI 会计凭证过账 BAPI ACC DOCUMENT POST 该过账BAPI需要和模拟过账的BAPI BAPI ACC DOCUMENT CHECK 搭配使用 这样先执行模拟过账 成功了再执行真正的过账 这样就不会因为执行失败产
  • OpenGL加速渲染:显示列表glGenLists

    在OpenGL中 可能要用非常多的点 线 面来构成一幅图 若进行实时渲染 无疑对显示效率有非常大的影响 比如要画几百万个三角形 那么很可能旋转一下图片需要响应很久 为了加速渲染 可以将需要绘制的部分放在显示列表glGenLists中 每一个
  • git仓库完整迁移(代码,分支,提交记录)

    背景 我们公司使用Git进行版本控制 并使用gitlab搭建了公司的私有Git仓库 后期项目逐渐增多 项目老大为了统一项目权限管理 决定将不同项目统一放到一个Group中 一旦进行项目迁移 项目的git远端地址会发生变化 现在项目正在开发当
  • JavaScript单向链表结构

    JavaScript单向链表结构 h1 见控制台打印 h1
  • 手把手教你使用WinPwn自制iPhone固件

    Pwn破解软件系列的windows版本终于发布 我们可以用这个软件在PC上制作自己的iPhone自制固件 不过根据开发小组介绍这个版本还属于测试版本 某些功能还不能实现 因此破解时需使用Installer下的Bootneuter 详细操作流
  • git常用命令记录

    git常用命令记录 git常用命令 接上一篇搭建hexo github的博客 几次修改文件导致博客无法正常运行 故上传github 备份之 也就有了这篇文章 介绍基本的git命令 git config global user name 你再
  • 股票为什么会涨停?

    原文地址 http news xinhuanet com stock 2004 02 17 content 1318785 htm 股票为什么会涨停 要回答这个问题 有必要先说清楚什么是停板 停板是股票市场中的一种游戏规则 它是为了防止股票
  • 学习C# 哈希表(HashTable)用法

    学习C 哈希表 HashTable 用法 1 哈希表 HashTable 简述 在 NET Framework中 Hashtable是System Collections命名空间提供的一个容器 用于处理和表现类似keyvalue的键值对 其
  • list要点

    基本操作 erase函数 remove函数 特殊变动性操作 List迭代器 list与vector 异常处理 list本质是一个双向链表 其模板定义如下 namespace std template
  • 刷脸支付秒过地铁太快太方便

    刷脸支付让人们生活更便捷 公交卡 零钱 手机统统不用带 在广州 坐地铁只要刷脸就可以啦 据媒体报道 近日 广州首个智慧地铁站开通 乘客可以刷脸无感过闸 300毫秒内完成人脸识别 每分钟可通行40人 几年前 刷脸 还是朋友间用来互相调侃的 转
  • 给服务器端的.git瘦身

    一 背景 git库擅长管理文本型的文件 二进制文件一版不建议用git管理 现在我们已经用git管理的二进制文件 并且已经有了上百个提交 多个分支 且存储的二进制文件的总和已经相当庞大 可能几十个G 上百G 这给我们的git管理带来了以下3问
  • 嵌入式C语言之位操作详解

    1 位操作符 位操作直接将两个操作数按照二进制对应进行操作 例 0xaa 位与 0xf0 0xa0 逻辑操作是 两个操作数整体来操作 例 0xaa 逻辑与 0xf0 1 嵌入式的移位操作针对于无符号数 左移时右侧补0 右移时左侧补0 相当于
  • Python爬虫从入门到精通:(12)cookie_Python涛哥

    什么是cookie 是存储在客户端的一组键值对 web中cookie的典型应用 免密登陆 cookie和爬虫之间的关联 sometime 对一张页面进行请求的时候 如何请求的过程中不携带cookie的话 那么我们是无法请求到正确的页面数据
  • P5731 【深基5.习6】蛇形方阵

    题目描述 给出一个不大于 9 的正整数 n 输出n n 的蛇形方阵 从左上角填上 1 开始 顺时针方向依次填入数字 如同样例所示 注意每个数字有都会占用 3 个字符 前面使用空格补齐 输入格式 输入一个正整数 n 含义如题所述 输出格式 输