信息技术来源:2026年5月浙江省普通高中适应性考试(义乌柯桥)
第 7 题
答案与解析
本题解析
参考答案
A
程序分析
i←0,j←0 → i<n;否→输出a;是→a[i]是奇数?;是→交换a[i]和a[j]的值→j←j+1→i←i+1;否→i←i+1;i←i+1后返回i<n。i、j的初值均为0。流程用i从左到右访问数组中的元素:遇到奇数时,将a[i]与a[j]交换,再令j加1;遇到偶数时不交换,j也不变。两条分支最后都令i加1,继续访问下一个元素。
每遇到一个奇数,就把它放入下标j的位置,并把j移到下一位置,因此j表示已经归入数组前部的奇数个数。所有奇数会按原来的先后次序集中到数组前部,偶数则可能因交换而改变相对次序。
只记录遇到奇数时的交换,表中的j为交换前的值:
| i | j | 交换后的a |
|---|---|---|
| 0 | 0 | [3, 6, 8, 5, 2, 9, 4, 7] |
| 3 | 1 | [3, 5, 8, 6, 2, 9, 4, 7] |
| 5 | 2 | [3, 5, 9, 6, 2, 8, 4, 7] |
| 7 | 3 | [3, 5, 9, 7, 2, 8, 4, 6] |
最后i增加到8,i<n不成立,输出[3, 5, 9, 7, 2, 8, 4, 6]。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_05_G3_yiwukeqiaomoni_q007
