蛇形填数(矩阵)

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

}

相关推荐
czy878747516 分钟前
深入了解 C++ 中的 Lambda 表达式(匿名函数)
c++
CSDN_RTKLIB1 小时前
include_directories和target_include_directories说明
c++
Trouvaille ~1 小时前
【Linux】UDP Socket编程实战(二):网络字典与回调设计
linux·运维·服务器·网络·c++·udp·操作系统
明洞日记2 小时前
【图解软考八股034】深入解析 UML:识别标准建模图示
c++·软件工程·软考·uml·面向对象·架构设计
前端玖耀里2 小时前
Linux C/C++ 中系统调用与库函数调用的区别
linux·c语言·c++
艾莉丝努力练剑2 小时前
【Linux:文件】基础IO:文件操作的系统调用和库函数各个接口汇总及代码演示
linux·运维·服务器·c++·人工智能·centos·io
2301_765703142 小时前
C++中的代理模式变体
开发语言·c++·算法
划破黑暗的第一缕曙光2 小时前
[C++]:1.C++基础
c++·c++基础
三月微暖寻春笋2 小时前
【和春笋一起学C++】(五十九)派生类和基类之间的关系
c++·基类·派生类·关系
阿猿收手吧!2 小时前
【C++】inline变量:全局共享新利器
开发语言·c++