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

求助:实现用户输入数组并打印每第三个元素,当前输出顺序颠倒

嘿,我来帮你解决这个问题!你现在遇到的核心问题是输出顺序搞反了对吧?咱们一步步把它捋顺:

解决打印数组每第三个元素的问题

首先明确需求:我们要按正序取出数组里的每第三个元素——比如示例数组[1,2,3,4,5,6,7,8,9],要拿到的是第3、6、9个元素,也就是顺序为3,6,9,而不是倒序的9,6,3。

1. 先正确获取用户输入

首先得把用户输入的数组大小和元素转换成可用的数字数组。比如用户输入元素用逗号分隔时,要拆分字符串并转换成整数类型。

2. 正序提取目标元素

这里的关键是找对遍历的起始位置和步长:

  • 数组索引通常从0开始,所以第3个元素的索引是2
  • 之后每隔2个元素取一个,也就是步长设为3
  • 按这个规则遍历,就能按正序拿到所有符合要求的元素

代码示例(以Python为例)

# 获取数组大小(也可以直接用元素列表的长度,这里按需求先获取)
array_size = int(input("请输入数组大小:"))
# 获取并处理数组元素:拆分字符串、转成整数数组
input_elements = input("请输入数组元素(用逗号分隔):").split(",")
num_array = list(map(int, input_elements))

# 可选:校验输入的元素数量是否和数组大小匹配
if len(num_array) != array_size:
    print("输入的元素数量和数组大小不匹配,请重新输入!")
else:
    # 提取每第三个元素:从索引2开始,步长为3
    target_elements = num_array[2::3]
    # 按逗号分隔的格式输出
    print(",".join(map(str, target_elements)))

为什么你之前得到倒序?

如果你的输出是9,6,3,大概率是遍历方向搞反了:比如用了从数组末尾开始往前跳的切片(比如num_array[-1::-3]),或者手动循环时从最后一个索引开始递减取值。只要把遍历的起始点改成索引2、步长设为3的正序遍历,就能得到正确的顺序啦。

内容的提问来源于stack exchange,提问作者Mihal Greksa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:02:37