2018下半年程序员考试真题及答案-下午卷.pdfVIP

  • 11
  • 0
  • 约3.19千字
  • 约 11页
  • 2021-12-08 发布于河北
  • 举报

2018下半年程序员考试真题及答案-下午卷.pdf

2018 下半年程序员考试真题及答案-下午卷 第 1 题 说明 设[a1b1],[a2,b2],...,[an,bn]是数轴上从左到右排列的 n 个互不重叠的区间 (a1b1a2b2...anbn).以下流程图将一个新的区间[A,B](AB)添加到上述区间集,形成 新的从左到右排列的若千个互不重叠的区间 (若 A、B 落在原有的两个区间,则以原有区间 最左端点和最右端点为基准,形成新的区间),最后依次输出这些区间的端点。 例如,给定区间集:[1,2],[4,6],[8,10],[13,15],[17,20],添加区间[5,14]后,依次输出 1,2,4,15,17,20,表示合并后的区间集:[1,2],[4,15],[17,20]。 该流程图采用的算法是:先在 a1,b1,a2,b2,...,an,bn 中扫描定位A 点,再继续描定位 B 点, 在扫描过程中随时输出已确定的区间的端点值。 1st / 11 问题:1.1 阅读以下说明和C 代码,填写程序中的空 (1) ~(5),将解答写入答题纸的对 应栏内。 答案解析: 1.A 2.ai 3.bi 4.A,B 5.B 首先判断 A=ai,如果不满足,那么表示 ai 比较小,所以输出的是ai,判断A=bi,如果 不满足那么输出的就是 bi,朝一个推进,如果依次都不满足,最终循环输出的就是区间 [A,B]。这里可以判断(2)空为ai,(3)空为bi,(4)空为A,B。 如果在判断 A=ai 满足,那么表示 A 比较小,所以输出的是A,所以(1)空填A。 判断(5)空,这是在B=bi 依次判断都不满足,知道最后一个区间都判断结束,这个时候 说明 B 是大于所有的 bi,所以此时输出来的是B。所以(5)空填B。 第 2 题 【C代码 1】 2nd / 11 问题:2.1 写出 【C代码 1】运行时分别输入-1331、795 的输出结果。 问题:2.2 写出 【C代码 2】运行时的输出结果。 3rd / 11 答案解析: (1)输入-1331 的结果是: Palindromic number. a=-1331 b=1331 输入 795 的结果是: a=795 b=597 4th / 11 答案解析: (2)输出结果是: Passed,point=4 Passed,point=1 Passed,point=1 Passed,point=1 Failed 第 3 题 【说明】 某地电价分三档: (1)当月用电量不超过 180 度时,每度电 0.5 元: (2)当月用电量超出 180 度但不超过 360 度的部分,每度电 0.55 元: (3)当月用电量超过 360 度的部分,每度电 0.7 元。 例如,某户 A 一个月的用电量为 150 度,其电费为 150*0.5=75.00 元;某户 B 用电量为 280 度,其电费为 180*0.5+(280-180)*0.55=145.00 元;某户 C 用电量为 450 度,其电费 为 180*0.5+(360-180)*0.55+(450-360)*0.7=90.0+99.0+63.0=252.00 元 下面程序运行时读入 m(m0)个住户某月的用电量,计算该月每户应缴的电费并输出,同时 找出这 m 个住户中该月的最大用电量和最小用电量。 5th / 11 问题:3.1 阅读以下说明和C 代码,填写程序中的空 (1) ~(6),将解答写入答题纸的对 6th / 11 应栏内。 答案解析: 1.qt=180 2.qt=360 3.180*0.5+(360-180)*0.55+(qt-360)*0.7 4.minimumqt 5.maximumqt 6.m-- 第 4 题 【说明】 函数 insertElem 的功能是在元素升序排列的数组中加入一个新元素并保持数组元素升序 排列的特点。在 main 函数

文档评论(0)

1亿VIP精品文档

相关文档