深耕专业教研,探索前沿技术
信息技术来源: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,写入位置不会覆盖尚未读取的后续元素。