news 2026/4/23 13:08:14

C++编程中关于螺旋数组的解题思路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++编程中关于螺旋数组的解题思路

对于给定的一个输入变量n,要求绘出一个n*n的二维数组,要求从数字1开始,从左到右,从上到下,进行螺旋式的填充,每填充一个数字,变量值+1。

这类问题基本上要考虑四个方向,用0,1,2,3分别表示四个方向,方向每变化一个,都要加1,并且和4求余数%4,用一个变量计数,从1-n*n结束,每次加一,遇到遍历过的位置或者边界就改变方向,直到输出最后一个数为止。

#include <stdio.h> using namespace std; int main() { int n; printf("请输入矩阵的大小 n: "); scanf("%d", &n); // 方向:0-右,1-下,2-左,3-上 int directions[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; int a[10000]; // 存储螺旋数组的一维表示 int x = 0, y = 0; // 当前位置 int dir = 0; // 当前方向:初始向右 int num = 1; // 当前要填入的数字 // 初始化数组为0(用于标记边界) for (int i = 0; i < n * n; i++) { a[i] = 0; } // 填充螺旋数组 for (int i = 0; i < n * n; i++) { a[x * n + y] = num++; // 将数字存入一维数组 // 计算下一个位置 int next_x = x + directions[dir][0]; int next_y = y + directions[dir][1]; // 检查是否需要改变方向: // 下一个位置超出边界,或者已经填过数字 if (next_x < 0 || next_x >= n || next_y < 0 || next_y >= n || a[next_x * n + next_y] != 0) { // 改变方向:右→下→左→上→右... dir = (dir + 1) % 4; next_x = x + directions[dir][0]; next_y = y + directions[dir][1]; } // 移动到下一个位置 x = next_x; y = next_y; } // 输出结果(按矩阵形式输出) printf("螺旋矩阵:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%3d ", a[i * n + j]); } printf("\n"); } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:26:27

【毕业设计】基于Spring Boot的会议预定管理系统的设计与实现基于springboot高校会议室预订管理系统(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/23 11:26:19

SpellCraft加密工具架构解析与实战指南

项目速览 【免费下载链接】Abracadabra Abracadabra 魔曰&#xff0c;下一代文本加密工具 项目地址: https://gitcode.com/gh_mirrors/abra/Abracadabra SpellCraft是一款革命性的短文本加密工具&#xff0c;通过创新的多层加密架构&#xff0c;将普通内容转换为高度伪装…

作者头像 李华
网站建设 2026/4/23 12:46:48

京东金榜年度金奖出炉 京东JD FASHION爆款商品强势登榜

【大力财经】12月9日&#xff0c;2025京东金榜盛典于上海举行&#xff0c;正式揭晓2025年度获奖榜单。活动现场&#xff0c;京东JD FASHION多款产品斩获重磅奖项&#xff0c;伯希和冲锋衣裤、耐克跑步鞋、阿迪达斯运动休闲鞋、波司登男士羽绒服、海澜之家男士T恤、高梵女士羽绒…

作者头像 李华
网站建设 2026/4/23 12:46:22

终极指南:如何快速上手OpenAI一致性模型实现高效图像生成

终极指南&#xff1a;如何快速上手OpenAI一致性模型实现高效图像生成 【免费下载链接】diffusers-ct_imagenet64 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-ct_imagenet64 一致性模型&#xff08;Consistency Models&#xff09;作为生成式AI领域…

作者头像 李华
网站建设 2026/4/23 12:34:12

39、C 源代码编译软件入门指南(上)

C 源代码编译软件入门指南(上) 1. 常见文件类型 在软件编译过程中,我们会遇到各种类型的文件,常见的有: - 源代码文件 :以 .c 、 .h 或 .cc 结尾。C 源代码文件可能出现在包目录的任何位置。C++ 源代码文件通常以 .cc 、 .C 或 .cxx 为后缀。 - 目标文…

作者头像 李华
网站建设 2026/4/23 12:35:48

MOSES分子生成基准测试平台:AI药物发现的终极解决方案

MOSES分子生成基准测试平台&#xff1a;AI药物发现的终极解决方案 【免费下载链接】moses 项目地址: https://gitcode.com/gh_mirrors/mo/moses 在药物研发的漫长旅程中&#xff0c;科学家们面临着一个巨大挑战&#xff1a;如何从数以亿计的潜在分子中快速筛选出有效候…

作者头像 李华