深耕专业教研,探索前沿技术
信息技术来源:温州市普通高中2026届高三第二次适应性考试

第 10 题

答案与解析

本题解析

参考答案

C

程序分析

st = i = 0
while i < len(d) - 1:
    if d[i] >= d[i + 1]:
        if i - st + 1 > 2:
            st = i + 1
    i += 1

st和i均从0开始,i每轮增加1,依次比较相邻元素d[i]与d[i+1]。当d[i] >= d[i+1]时,程序进一步检查i-st+1是否大于2。

i-st+1表示下标st到i这一段的元素个数。若这一段至少有3个元素,就将st更新为i+1,从下一个位置开始考察新的一段;否则st保持不变。由此可知,st记录当前考察段的起始下标。

本题只有i=2、3、5时满足d[i] >= d[i+1],需要进一步判断:

i 相邻元素 更新前st i-st+1 更新后st
2 5、5 0 3,大于2 3
3 5、2 3 1,不大于2 3
5 4、4 3 3,大于2 6

其余相邻元素均满足前者小于后者,不会更新st。最后一次比较是i=6时的4与6,之后i增至7,循环结束,st为6。