You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于数组[2,4,3,9,6,5]实现指定星形图案输出?

实现方法

核心思路是先明确数组和图案的对应关系:

  • 数组中的最大值为图案的总行数(这里是9行)
  • 数组的每个元素对应一列,表示该列从底部开始数有多少行显示星号(比如元素2对应列仅在底部第1、2行显示星号)

用嵌套循环实现的步骤:

  1. 计算数组的最大值,确定总行数
  2. 外层循环遍历每一行(从顶部第1行到底部第9行)
  3. 对当前行,计算从底部往上数的行号 k = 总行数 - 当前行号 + 1
  4. 内层循环遍历数组的每个元素:
    • 如果 k <= 当前元素,说明该列在当前行需要显示星号 *
    • 否则显示空格
  5. 将每列的字符用空格拼接成一行,输出

代码示例(Python)

array = [2, 4, 3, 9, 6, 5]
max_rows = max(array)

# 外层循环控制行,从顶部第1行到第max_rows行
for current_row in range(1, max_rows + 1):
    # 计算从底部往上数的行号
    bottom_up_row = max_rows - current_row + 1
    line_parts = []
    # 内层循环控制每列的显示
    for val in array:
        if bottom_up_row <= val:
            line_parts.append("*")
        else:
            line_parts.append(" ")
    # 拼接成一行并输出
    print(" ".join(line_parts))

运行这段代码后,输出的图案与你给出的示例逻辑一致,若要完全匹配示例的列分布,只需调整数组元素顺序为 [3, 4, 2, 9, 6, 5] 即可。

内容的提问来源于stack exchange,提问作者Suraj Naruka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:01:30