蛇形填数 在n×n方阵里填入1,2,…,n×n,要求填成蛇形。例如,n=4时方阵为: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 为了美化效果,我们设置每个数宽度为4,填充符号为*。先输入n值,n≤10。 【样例输入】 4 【样例输出】 ***1***2***3***4 **12**13**14***5 **11**16**15***6 **10***9***8***7
时间: 2023-07-06 20:36:39 浏览: 112
下面是一个用于解决蛇形填数问题的程序,可以输出符合要求的蛇形矩阵:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
const int MAXN = 10;
int a[MAXN][MAXN];
int main() {
int n;
cin >> n;
int k = 1;
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
for (int j = 0; j < n; j++) {
a[i][j] = k++;
}
} else {
for (int j = n - 1; j >= 0; j--) {
a[i][j] = k++;
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << setw(4) << (a[i][j] ? to_string(a[i][j]) : "*");
}
cout << endl;
}
return 0;
}
```
程序的主要思路是:首先输入 n 的值,然后根据 n 的值生成一个 n 行 n 列的二维数组 a,接着按照蛇形的方式将 1 到 n×n 的数字填入二维数组中,最后按照要求输出蛇形矩阵。在填数时,可以通过判断当前行的奇偶性来确定数字的填充顺序,每一行的填充顺序是从左到右或者从右到左交替进行的。
阅读全文
相关推荐
















