如何输入一个数然后输出一个菱形方阵
时间: 2024-10-23 15:10:35 浏览: 14
精选27个C++经典程序
菱形方阵是一种特殊的排列,其中每一行从中心开始,向左和右依次递减或递增地填充数字,直到两边只剩下一个数字。为了输入一个数并输出相应的菱形方阵,你可以按照以下步骤操作:
1. 首先,需要用户输入一个正整数 `n`,这将决定菱形方阵的高度。例如,如果输入5,菱形会由5层组成。
2. 接着,计算菱形方阵的行数。对于高度为 `n` 的菱形,外部最宽的一行有 `2*n - 1` 个元素,中间一行则有 `2*(n-1) + 1` 个元素。
3. 使用嵌套循环遍历菱形的每个位置。外层循环控制行,内层循环控制列。每行的起始点和结束点可以根据当前行的位置动态变化。
- 对于奇数行(包括中间行),列从中心向两边递增或递减。
- 对于偶数行,列从边缘向中心递增或递减。
4. 输出每个位置的数字。通常菱形方阵的中心是数字1,后续的数字可以递增。
下面是一个简单的Python示例代码,用于生成指定大小的菱形方阵:
```python
def print_diamond(n):
# 创建一个二维列表存储数字
diamond = [[' ' for _ in range(2 * n - 1)] for _ in range(n)]
# 中心行
i = j = n - 1
diamond[i][j] = '1'
while i > 0 or j > 0:
if i > 0 and j > 0:
diamond[i][j] = str(diamond[i][j] + 1)
j -= 1
i -= 1
elif j > 0:
diamond[i][j] = str(diamond[i][j] + 1)
j -= 1
else:
i += 1
j += 2
diamond[i][j] = str(diamond[i][j] - 1)
# 打印菱形
for row in diamond:
print(' '.join(row))
# 用户输入
n = int(input("请输入菱形方阵的高度:"))
print_diamond(n)
阅读全文