阅读以下说明和流程图,填补流程图和问题中的空缺(1)~(5),将解答填入答题纸的

考试题库2022-08-02  36

问题 阅读以下说明和流程图,填补流程图和问题中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明】设整型数组A[1:N]每个元素的值都是1到N之间的正整数。一般来说,其中会有一些元素的值是重复的,也有些数未出现在数组中。下面流程图的功能是查缺查重,即找出A[1:N]中所有缺的或重复的整数,并计算其出现的次数(出现次数为0时表示缺)。流程图中采用的算法思想是将数组A的下标与值看作是整数集[1:N]加上的一个映射,并用数组C[1:N]记录各整数出现的次数,需输出所有缺少的或重复的数及其出现的次数。【流程图】【问题】  如果数组A[1:5]的元素分别为{3,2,5,5,1},则算法流程结束后输出结果为:  (5)  。  输出格式为:缺少或重复的元素,次数(0表示缺少)

选项

答案

解析 (1)A
(2)C[k]+1
(3)1
(4)k 和C[k]
(5) 4,0
     5,2

(1)A  //A赋给K,
(2)C[k]+1//C[k]值加1,i循环中,将A{i}中存在的值在C[k]中相应位数上加1。以A[1:5]={3,2,5,5,1}为例,当i=1时,k=A[1]=3,则C[3]+1,即C[1:5]变成{0,0,1,0,0}。,当i=2时,k=A[2]=2,则C[2]+1,即C[1:5]变成{0,1,1,0,0}。当i循环结束后,C[k]={1,1,1,0,2}.
(3)1 //判断C[k]值是否为1,是1的时候不输出,不是1的时候共有两种情况:0/>1,为零这说明缺少k值,为>1时,说明K重复出现,出现次数为k次。
(4)k 和C[k]  //k位重复数,C[k]为重复次数
(5)在范例中,4没有出现,1、2、3分别出现了1次,5出现了两次。
转载请注明原文地址:https://tihaiku.com/congyezige/2427013.html

最新回复(0)