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

PTA: 螺旋矩阵

题目

所谓“螺旋矩阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。

格式

输入格式:
输入在一行中给出一个正整数N(<10)。

输出格式:
输出N×N的螺旋方阵。每行N个数字,每个数字占4位。

样例

输入样例:
5
输出样例:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

解答

#include <stdio.h>  int main() {  int n;  scanf("%d", &n);  int matrix[n][n];  int num = 1;  int row_start = 0;  int row_end = n - 1;  int col_start = 0;  int col_end = n - 1;  while (row_start <= row_end && col_start <= col_end) {  for (int col = col_start; col <= col_end && num <= n * n; col++) {  matrix[row_start][col] = num++;  }  row_start++;  for (int row = row_start; row <= row_end && num <= n * n; row++) {  matrix[row][col_end] = num++;  }  col_end--;  for (int col = col_end; col >= col_start && num <= n * n; col--) {  matrix[row_end][col] = num++;  }  row_end--;  for (int row = row_end; row >= row_start && num <= n * n; row--) {  matrix[row][col_start] = num++;  }  col_start++;  }  for (int i = 0; i < n; i++) {  for (int j = 0; j < n; j++) {  printf("%4d", matrix[i][j]);  }  printf("\n");  }  return 0;  
}

相关文章:

  • 计算机毕业设计 基于微信小程序的“共享书角”图书借还管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 9.Docker的虚悬镜像-Dangling Image
  • 爬虫爬取百度图片、搜狗图片
  • cocos2dx ​​Animate3D (一)
  • Java面试-微服务篇-SpringCloud
  • Python语言学习笔记之三(字符编码)
  • 独乐乐不如众乐乐(二)-某汽车零部件厂商IC EMC企业规范
  • 【leetcode】62. 不同路径
  • Flask Session 登录认证模块
  • 打印菱形-第11届蓝桥杯选拔赛Python真题精选
  • 图片转换成pdf格式的软件ABBYY16
  • elasticsearch Connection reset by peer如何处理
  • python爬虫中 HTTP 到 HTTPS 的自动转换
  • colab notebook导出为PDF
  • 利用企业被执行人信息查询API保障商业交易安全
  • 网络传输文件的问题
  • 【5+】跨webview多页面 触发事件(二)
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Gradle 5.0 正式版发布
  • hadoop集群管理系统搭建规划说明
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JavaScript DOM 10 - 滚动
  • learning koa2.x
  • mysql 数据库四种事务隔离级别
  • springMvc学习笔记(2)
  • 分享一份非常强势的Android面试题
  • 关于 Cirru Editor 存储格式
  • 关于Java中分层中遇到的一些问题
  • 聚类分析——Kmeans
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 跨域
  • 前端面试题总结
  • 前端设计模式
  • 06-01 点餐小程序前台界面搭建
  • 《码出高效》学习笔记与书中错误记录
  • ​​​​​​​​​​​​​​Γ函数
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #13 yum、编译安装与sed命令的使用
  • #include<初见C语言之指针(5)>
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (AngularJS)Angular 控制器之间通信初探
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Matlab)使用竞争神经网络实现数据聚类
  • (python)数据结构---字典
  • (三十五)大数据实战——Superset可视化平台搭建
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .Net Core 中间件验签
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)