蛇形方阵(C++)
Posted 小张不胖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蛇形方阵(C++)相关的知识,希望对你有一定的参考价值。
题目描述
给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。
从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。
注意每个数字有都会占用 3 个字符,前面使用空格补齐。
样例输入
4
样例输出
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
下面附上C++代码:
#include <iostream>
#include <iomanip>
#define ll long long
using namespace std;
ll s[1000][1000];
int main()
{
int n, i = 1, j = 0, sum = 1;
cin >> n;
while (sum <= n * n)
{
while (s[i][++j] == 0 && j <= n)
{
s[i][j] = sum++;
}
j--;
while (s[++i][j] == 0 && i <= n)
{
s[i][j] = sum++;
}
i--;
while (s[i][--j] == 0 && j >= 1)
{
s[i][j] = sum++;
}
j++;
while (s[--i][j] == 0 && i >= 1)
{
s[i][j] = sum++;
}
i++;
}
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
cout << setw(3) << setfill(' ') << s[i][j];
}
cout << endl;
}
return 0;
}
以上是关于蛇形方阵(C++)的主要内容,如果未能解决你的问题,请参考以下文章