阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。 【说明】 已知数组A[l:n]中各个元素的值都是非零整数,其中有些元素的值是相同的(重复)。为删除其中重复的值,可先通过以下流程图找出所有的重复值,并对所

admin2013-07-03  28

问题 阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。
    【说明】
    已知数组A[l:n]中各个元素的值都是非零整数,其中有些元素的值是相同的(重复)。为删除其中重复的值,可先通过以下流程图找出所有的重复值,并对所有重复值赋0标记之。该流程图采用了双重循环。
    处理思路:如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。例如,假设数组A的各元素之值依次为2,5,5,1,2,5,3,则经过该流程图处理后,各元素之值依次为2,5,0,1,0,0,3。
    【流程图】
   

选项

答案(1)n-1 (2)A[i] (3)i+1 (4)A[j] (5)A(j)

解析 本题考查考生对程序流程的理解能力。
    根据题意,本题处理流程采用双重循环。其中,外层循环变量i用于标识未经处理前的原始数组的下标,内层循环变量j用于标识与原始数组中的元素进行比较的数组的下标。在比较时,南于最后一个元素是与前面的元素进行比较,因此,(1)处应填入n-1。
    (2)处用于判断原始数组中是否有0元素,应填入A
    类似的思路,(3)处用于设置与原始数组中的元素进行比较的数组的下标。由于其初始元素为第二个元素,因此应填入i+1。(4)处用于判断比较数组中是否有0元素,应填入A[j]。
    根据题目描述的处理思路,如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。因此,若A(i)=A(j),应将该元素赋标记值0。这里需要注意数组下标的选择,显然第一个元素不会标记为0,因此,(5)处应填入A(j)。
转载请注明原文地址:https://kaotiyun.com/show/unjZ777K
0

最新回复(0)