问题
填空题
阅读以下说明和流程图,填补流程图中的空缺。
[说明]
已知数组A[1:n]中各个元素的值都是非零整数,其中有些元素的值是相同的(重复)。为删除其中重复的值,可先通过以下流程图找出所有的重复值,并对所有重复值赋0标记之。该流程图采用了双重循环。
处理思路:如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。例如,假设数组A的各元素之值依次为2,5,5,1,2,5,3,则经过该流程图处理后,各元素之值依次为2,5,0,1,0,0,3。
[流程图]
答案
参考答案:A(j)
解析:本题考查考生对程序流程的理解能力。
根据题意,本题处理流程采用双重循环。其中,外层循环变量i用于标识未经处理前的原始数组的下标,内层循环变量i用于标识与原始数组中的元素进行比较的数组的下标。在比较时,由于最后一个元素是与前面的元素进行比较,因此,第一空应填入n-1。
第二空处用于判断原始数组中是否有0元素,应填入:A[i]。
类似的思路,第三空处用于设置与原始数组中的元素进行比较的数组的下标。由于其初始元素为第二个元素,因此应填入:i+1。第四空处用于判断比较数组中是否有0元素,应填入:A[j]。
根据题目描述的处理思路,如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。因此,若A(i)=A(j),应将该元素赋标记值0。这里需要注意数组下标的选择,显然第一个元素不会标记为0,因此,第五空处应填入:A(j)。