蛇形填数(矩阵)

#include <bits/stdc++.h>

using namespace std;

int main() {

int a[10][10] = {0};

int n;

cin >> n;

int num = 1;

int bot = n - 1;

int top = 0;

int left = 0;

int right = n - 1;

while (n * n >= num) {

for (int i = top; i <= bot; i++) {

a[i][right] = num++;

}

right--;

if (top <= bot) {

for (int j = right; j >= left; j--) {

a[bot][j] = num++;

}

bot--;

}

if (right >= left) {

for (int i = bot; i >= top; i--) {

a[i][left] = num++;

}

left++;

}

for (int j = left; j <= right; j++) {

a[top][j] = num++;

}

top++;

}

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

cout << setw(4) << a[i][j];

}

cout << endl;

}

return 0;

}

相关推荐
ximu_polaris19 小时前
设计模式(C++)-行为型模式-观察者模式
c++·观察者模式·设计模式
故事和你9120 小时前
洛谷-算法2-1-前缀和、差分与离散化1
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
handler011 天前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
我头发多我先学1 天前
C++ 模板全解:从泛型编程初阶到特化、分离编译进阶
java·开发语言·c++
星星码️1 天前
C++选择题练习(一)
开发语言·c++
小苗卷不动1 天前
OJ练习之疯狂的自我检索者(简单)
c++
LUVK_1 天前
第七章查找
数据结构·c++·考研·算法·408
迷途之人不知返1 天前
vector
c++
khalil10201 天前
代码随想录算法训练营Day-31贪心算法 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
数据结构·c++·算法·leetcode·贪心算法·二叉树·递归
小苗卷不动1 天前
进程与线程的核心区别
c++