刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

 

试题(15 分)

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏 内。

【说明】

设有整数数组 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、j=i+1
2、S+A[j]
3、S
4、j-i+1
5、S


解析:

根据说明和流程图的要求,我们需要寻找数组 A[1:N] 中连续排列的若干个元素,使其和达到最大值。

  1. 从流程图中的顺序可以看出,我们首先初始化 j=i+1,这样我们可以从当前位置开始计算连续子数组的和。
  2. 在每次循环中,我们需要计算从 i 到 j 的子数组的和,即 S+A[j]。这里 A[j] 是当前位置的元素值。
  3. 为了找到最大的和值 M,我们需要动态地记录其最大值 M。因此,此处应该是判断当前的和 S 是否大于之前的最大和值 M,而不是简单的比较 S 的正负。如果 S 大于 M,则更新 M 的值。
  4. 当我们找到一段连续的子数组的和达到最大值时,我们需要输出其起始下标 K 和元素个数 L。在流程图中,通过计算 j-i+1 可以得到当前连续子数组的个数 L。
  5. 最后,当我们完成所有的比较和计算后,输出最大的和值 M。由于整个流程中都在动态地记录最大的和值 M,因此这一步是合理的。
创作类型:
原创

本文链接:  试题(15 分) 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏 内。 【说

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share