当前位置: 首页 > news >正文

【入门4】数组——蛇形方阵

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

题目描述

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

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

4

样例输出 #1

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

提示

数据保证, 1 ≤ n ≤ 9 1 \leq n \leq 9 1n9

解析

我所采用的方法简单粗暴。
首先看一共要填充几圈,n=4有两圈,n=5有三圈…
所以对于任意的n,需要填充(n+1)/2(整除)圈。
然后就是分别填充四条边,注意拐角处。
最后就是每个数字占3个字符,用printf(“%3d”,a[i][j])解决

代码

#include<iostream>
#include<cstdio>
using namespace std;
const int N=10002;
int a[N][N],n,num=1;
bool b[N][N];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=(n+1)/2;i++)
	{
		for(int j=i;j<=n+1-i;j++,num++)
		 a[i][j]=num;
		for(int j=i+1;j<=n+1-i;j++,num++)
		 a[j][n+1-i]=num;
		for(int j=n-i;j>=i;j--,num++)
		 a[n+1-i][j]=num;
		for(int j=n-i;j>i;j--,num++)
		 a[j][i]=num;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		 printf("%3d",a[i][j]);
		printf("\n");
	}
}

相关文章:

  • web自动化测试——入门篇01
  • 探索云原生技术之容器编排引擎-Kubernetes/K8S详解(5)
  • 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)
  • 《JavaSE-第十四章》之文件(一)
  • 【C++】命名空间输入输出缺省参数函数重载
  • C++ STL速成
  • 网络安全知识之什么是网络安全?
  • Mybatis----多表查询
  • @Autowired注解的实现原理
  • 【C语言】指针(进阶)
  • Opencv 图像处理:数字图像的必会知识
  • 【Linux】Linux下的编辑器——vim
  • JVM是什么?
  • 基于ssm广东东莞大益球队管理系统-计算机毕业设计源码+LW文档
  • 对抗生成网络GAN系列——AnoGAN原理及缺陷检测实战
  • #Java异常处理
  • CSS相对定位
  • Git学习与使用心得(1)—— 初始化
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Just for fun——迅速写完快速排序
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python 反序列化安全问题(二)
  • SpiderData 2019年2月13日 DApp数据排行榜
  • tensorflow学习笔记3——MNIST应用篇
  • vue自定义指令实现v-tap插件
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 阿里云前端周刊 - 第 26 期
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 分布式事物理论与实践
  • 给Prometheus造假数据的方法
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 聚类分析——Kmeans
  • 力扣(LeetCode)22
  • 深入浏览器事件循环的本质
  • 物联网链路协议
  • 一份游戏开发学习路线
  • 异步
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 积累各种好的链接
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #14vue3生成表单并跳转到外部地址的方式
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (10)STL算法之搜索(二) 二分查找
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (动态规划)5. 最长回文子串 java解决
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • .net生成的类,跨工程调用显示注释
  • .sh
  • @DataRedisTest测试redis从未如此丝滑
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [cogs2652]秘术「天文密葬法」