阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
设有整数数组A[1:N](N>1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。
例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。
【流程图】
注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值
正确答案及解析
正确答案
解析
(1)i,N
(2)S+A[j]
(3)S
(4)j-i+1
(5)S
要想在数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。
那么,会将数组从第一个元素出发,依次比较A[1],A[1] +A[2],A[1] +A[2]+A[3],……,A[1] +A[2]+…+A[N],然后再比较A[2], A[2] +A[3],A[2] +A[3]+A[4],……,A[2] +A[3]+…+A[N],然后再比较A[3] +A[4],A[3] +A[4]+A[5],……,A[3] +A[4]+…+A[N],直到最后一个元素A[N].
按照这种逻辑,要使用两个循环,且要保存之前求和项。一个是i循环,从1到N递增,另一个是j循环,j表示的是求和项的最大下标值,那么j从i开始,且要小于N。 S+A[j]—>S不断保留A[i]+ A[i+1]+…A[j]的值,直到j循环结束。并将S的值与之前保存的M的值进行比较,如果S>M,则将S的值赋给M,并求出L值,在这里,i是最小下标值,j是最大下标值,那么L=j-i+1。如果S<M,则跳出循环。
包含此试题的试卷
你可能感兴趣的试题
( )is the process of transforming information so it is unintelligible to anyone but the intended recipient.
-
- A.Encryption
- B.Decryption
- C.Security
- D.Protection
- 查看答案
As each application module is completed,it undergoes( )to ensure that it operates correctly and reliably.
-
- A.unit testing
- B.integration testing
- C.system testing
- D.acceptance testing
- 查看答案
( )algorithm specifies the way to arrange data in a particular order.
-
- A.Search
- B.Random
- C.Sorting
- D.Merge
- 查看答案
After analyzing the source code,( )generates machine instructions that will carry out the meaning of the program at a later time.
-
- A.an interpreter
- B.a linker
- C.a compiler
- D.a converter
- 查看答案
( )can help organizations to better understand the information contained within the data and will also help identify the data that is most important to the business and future business decisions.
-
- A.Data processing system
- B.Big Data analytics
- C.Cloud computing
- D.Database management
- 查看答案