信息技术来源:2026年5月浙江省普通高中适应性考试(义乌柯桥)
第 10 题
答案与解析
本题解析
参考答案
B
程序分析
c = 0
for i in range(n):
if a[i] == x:
c += 1
else:
print(a[:n - c])i 从左到右遍历数组,遇到 a[i] == x 时将 c 加1,因此 c 记录截至当前位置遇到的待删除元素个数。进入 else 分支时,a[i] 是需要保留的元素。末行只输出数组前 n-c 项,因此方框处需要把保留元素依次写入数组前部。
填空分析
方框处
当前元素的原下标为 i,它前面已有 c 个待删除元素。去掉这些位置后,当前元素应左移 c 位,写入下标 i-c 处,故填 a[i-c] = a[i],选B。由于 i-c ≤ i,写入位置不会覆盖尚未读取的后续元素。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_05_G3_yiwukeqiaomoni_q010
