蛇形填数(矩阵)

#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;

}

相关推荐
天若有情6732 分钟前
从C++ RefInt到JS Object.defineProperty:吃透响应式监听的本质(学生视角)
开发语言·javascript·c++
Morwit5 分钟前
【力扣hot100】 70. 爬楼梯
c++·算法·leetcode·职场和发展
我能坚持多久6 分钟前
C++入门基础知识
开发语言·c++·学习
十五年专注C++开发13 分钟前
Cocos2d - x: 一款开源跨平台 2D 游戏框架
运维·c++·游戏·开源·游戏引擎·cocos2d
草莓熊Lotso17 分钟前
MySQL 索引特性与性能优化全解
android·运维·数据库·c++·mysql·性能优化
时光之源21 分钟前
记录:在VSCode中运行C/C++程序
c语言·c++·vscode
小樱花的樱花24 分钟前
C++访问权限:封装的艺术
开发语言·c++
liuyao_xianhui37 分钟前
优选算法_岛屿数量_floodfill算法)_bfs_C++
java·开发语言·数据结构·c++·算法·链表·宽度优先
落羽的落羽38 分钟前
【Linux系统】入门线程:线程介绍与线程控制
linux·服务器·c++·人工智能·stm32·单片机·机器学习
深邃-1 小时前
字符函数和字符串函数(2)
c语言·数据结构·c++·后端·算法·restful