题目描述 输入正整数n(3<=n<=6),输出一个n*n的矩阵,要求两条对角线的元素均为1,其余均为2 输入 输入正整数n(3<=n<=6) 输出 输出一个n*n的矩阵,要求两条对角线的元素均为1,其余均为2 每个整数占3位宽
时间: 2024-10-24 21:06:51 浏览: 37
4.4.1 第二章习题题解1
这是一个编程题目的要求,目标是接收用户输入的一个正整数 n (范围从 3 到 6),然后生成一个 n * n 的矩阵。这个矩阵的特点是主对角线和副对角线上的元素值为 1,其他位置的元素值为 2。例如,当 n 为 3 时,输出应该是:
```
1 2 2
2 1 2
2 2 1
```
对于 n = 4 或者更大的数字,会相应地填充更多的 2,保持相同的模式。如果你需要编写程序来解决这个问题,通常可以用循环结构遍历矩阵的每一个格子,并根据其行和列的位置来设置值。这里是一个简单的 Python 示例:
```python
def print_matrix(n):
matrix = [[0] * n for _ in range(n)]
for i in range(n):
matrix[i][i] = matrix[i][n - i - 1] = 1
matrix[n - i - 1][i] = matrix[n - i - 1][n - i - 1] = 1
for j in range(i + 1, n):
matrix[i][j] = matrix[j][i] = 2
for row in matrix:
print(' '.join(str(num).zfill(3) for num in row))
# 测试
print_matrix(3)
```
阅读全文