蛇形填数(矩阵)

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

}

相关推荐
千疑千寻~13 小时前
【QML】C++访问QML控件
c++·qml
June`13 小时前
C++11(四):特殊类与单例模式设计精要
开发语言·c++
明月别枝惊鹊丶13 小时前
【C++】GESP 三级手册
java·开发语言·c++
ZouZou老师14 小时前
C++设计模式之责任链模式:以家具生产为例
c++·设计模式·责任链模式
lynnlovemin14 小时前
从暴力到高效:C++ 算法优化实战 —— 排序与双指针篇
java·c++·算法
慕容青峰14 小时前
牛客小白月赛 103 C 题题解
c++·算法·sublime text
小龙报14 小时前
【算法通关指南:算法基础篇(四)】二维差分专题:1.【模板】差分 2.地毯
c语言·数据结构·c++·深度学习·神经网络·算法·自然语言处理
Cinema KI14 小时前
一文掌握 C++ 多态:原理、用法、坑点
c++
郝学胜-神的一滴14 小时前
Linux进程管理:借助信号回收进程
linux·服务器·开发语言·c++·程序人生
lenkco15 小时前
修改QtConcurrent::run支持任意参数
开发语言·c++·qt