2018 下半年程序员考试真题及答案-下午卷
第 1 题
说明
设 [a1b1],[a2,b2],...,[an,bn] 是 数 轴 上 从 左 到 右 排 列 的 n 个 互 不 重 叠 的 区 间
(a1
问题: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】
问题:2.1 写出【C 代码 1】运行时分别输入-1331、795 的输出结果。
问题:2.2 写出【C 代码 2】运行时的输出结果。
答案解析:
(1)输入-1331 的结果是:
Palindromic number.
a=-1331 b=1331
输入 795 的结果是:
a=795 b=597
答案解析:
(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(m>0)个住户某月的用电量,计算该月每户应缴的电费并输出,同时
找出这 m 个住户中该月的最大用电量和最小用电量。
问题:3.1 阅读以下说明和 C 代码,填写程序中的空(1) ~(6),将解答写入答题纸的对
应栏内。
答案解析:
1.qt<=180
2.qt<=360
3.180*0.5+(360-180)*0.55+(qt-360)*0.7
4.minimum>qt
5.maximum
问题:4.1 阅读以下说明和 C 代码,填写程序中的空(1) ~(6),将解答写入答题纸的对
应栏内。
答案解析:
1.arr[n]
2.arr[i+1]=arr[i]