电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

2021年下半年程序员下午试卷_3

18页
  • 卖家[上传人]:阳光****活
  • 文档编号:183325888
  • 上传时间:2021-06-02
  • 文档格式:DOCX
  • 文档大小:192.89KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、2021年下半年程序员下午试卷1、【简答题】试题一(共15分)阅读以下说明和流程图,填补流程图中的空缺(1)(5),将解答填入答题纸的对应栏内。说明某单位动态收集的数据中常包含重复的数据,所以需要进行处理,使得重复的数据仅出现一次。下面流程图的功能是:在n(n1)个数据D1、D2、Dn中,选出其中所有不重复的k个数据,置于原来前k个数据的位置上。该流程图的算法如下:第1个数据必然被选出,然后从第2个数据开始,逐个考察其余的数据。假设D1、D2、Dm(m1)是已经选出的、不重复的数据,则对于数据Di(min),将其依次与Dm、Dm-1、D1进行比较,若没有发现与之相同者,则Di被选出并置于Dm+1的位置上;否则对Di不做处理。例如,如下10个数据:5,2,2,7,4,4,7,1,9,1(n=10)经过上述算法处理后的结果为:5,2,7,4,1,9(k=6)流程图注:循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。15分解析:(1)1(2)2(3)m(4)Dm+1(5)mm+12、【简答题】试题二(共15分)阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对

      2、应栏内。说明已知1900年1月1日是星期一,下面的函数count_5_13(intyear)用于计算给定的年份year中有几个“黑色星期五”。“黑色星期五”指既是13日又是星期五的日期。函数count_5_13(intyear)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,若是星期五,则计数。程序中使用了函数isLeapYear(intyear),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是(或不是)闰年。C语言函数intcount_5_13(intyear)intdate;/*date为0表示星期日,为16分别表示星期一至星期六*/longdays=0;/*days记录天数*/intm,y,c=0;/*c用于表示黑色星期五的个数*/if(year1900)return-1;/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/days=12;for(y=1900;yyear;y+)days+=365;if(isLeapYear(y)(1);date=(days%7)+1)%7;/*算出给定年份year的1月

      3、13日是星期几*/c=((2))?1:0;for(m=1;(3);m+)switch(m)case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:days=28;if((4))days=29;break;/*endofswitch*/date=(days%7)+(5))%7;if(date=5)c+;/*endoffor*/returnc;15分解析:(1)days+,days+=1,days=days+1(2)date=5(3)m12(4)isLeapYear(year)或year%4=0year%100!=0|year%400=0(5)date3、【简答题】试题三(共15分)阅读以下说明和C语言程序,将应填入(n)处的字句写在答题纸的对应栏内。说明某电信公司记录了每个用户的详细通话情况(每次通话数据记录在一行),现将某用户某月的通话数据存入一个文本文件“dial.txt”,其数据格式如下:拨入或拨出标记通话开始时间通话结束时间对方号码

      4、注1:数据字段以一个空格作为分隔符。注2:拨入和拨出标记均为小写字母。拨入标记为“i”,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o”,表示本机呼叫其他用户,此时本机用户需要付费。注3:通话开始和结束时间的格式均为:HH:MM:SS。其中HH表示小时,取值0023;MM表示分钟,取值0059;SS表示秒,取值0059。从通话开始到结束这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。注4:跨月的通话记录计入下个月的通话数据文件。例如“o23:01:1200:12:15”表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。下面程序的功能是计算并输出该用户本月电话费(单位:元)。通话计费规则为:1.月通话费按每次通话费累加;2.每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。对于每次的拨出通话,程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度(以秒为单位),然后算出本次通话时间和通话费。例如,若输入文件dial.txt的数据如下所示,则输出fee=7.4

      5、4。o14:05:2314:11:2582346789i15:10:0016:01:1513890000000o10:53:1211:07:0563000123o23:01:1200:12:1513356789001C程序代码#includestdio.hFILE*fin;intmain()charstr80;inth1,h2,m1,m2,s1,s2;longt_start,t_end,interval;intc;doublefee=0;fin=fopen(dial.txt,r);if(!fin)return-1;while(!feof(fin)if(!fgets(str,80,fin)break;if((1))continue;h1=(str2-48)*10+str3-48;m1=(str5-48)*10+str6-48;s1=(str8-48)*10+str9-48;h2=(str11-48)*10+str12-48;m2=(str14-48)*10+str15-48;s2=(str17-48)*10+str18-48;t_start=h1*60*60+m1*60+s1;/*通话开

      6、始时间*/t_end=h2*60*60+m2*60+s2;/*通话结束时间*/if((2))/*若通话开始和结束时间跨日*/interval=(3)-t_start+t_end;elseinterval=t_end-t_start;c=(4);/*计算完整分钟数表示的通话时间*/if(interval%60)(5);fee+=c*0.08;fclose(fin);printf(fee=%.2lfn,fee);return0;15分解析:(1)str0=i,或*str=i(2)t_endt_start(3)24*60*60(4)interval/60(5)c+,c+=1,c=c+14、【简答题】试题四(共15分)阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。说明已知包含头结点(不存储元素)的单链表的元素已经按照非递减方式排序,函数compress(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不相同。处理过程中,当元素重复出现时,保留元素第一次出现所在的结点。图4-1(a)、(b)是经函数compress()处理前后的链表结构示例图。链表的结点

      7、类型定义如下:typedefstructNodeintdata;structNode*next;NODE;C语言函数voidcompress(NODE*head)NODE*ptr,*q;ptr=(1);/*取得第一个元素结点的指针*/while((2)ptr-next)q=ptr-next;while(q(3))/*处理重复元素*/(4)=q-next;free(q);q=ptr-next;(5)=ptr-next;/*endofwhile*/*endofcompress*/15分解析:(1)head-next(2)ptr(3)q-data=ptr-data或ptr-next-data=ptr-data(4)ptr-next(5)ptr5、【简答题】试题五(共15分)阅读下列说明、图和C+代码,回答问题1至问题3,将解答写在答题纸的对应栏内。说明已知四个类之间的关系如图5-1所示,分别对每个类的方法进行编号,例如Shape的perimeter()方法为1号,表示为“1:perimeter()”,Rectangle类的perimeter()为2号,表示为“2:perimeter()”,依

      8、此类推,其中,每个类的perimeter方法都为虚函数且方法签名相同。C+代码Triangle*tr=newTriangle();Square*sq=newSquare();Shape*sh=tr;问题1关于上述C+代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。sh和tr分别引用同一个对象;sh和tr分别引用同一类型的不同的对象;sh和tr分别引用不同类型的不同对象;sh和tr分别引用同一个对象的不同拷贝;sh和tr所引用的内存空间是相同的。问题2写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写“无”)。tr-height()(1)sh-perimeter()(2)sq-height()(3)sq-perimeter()(4)sh-height()(5)tr-perimeter()(6)问题3不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。sq=sh;sh=tr;tr=sq;sq=tr;sh=sq;15分解析:问题1问题2(1)3(2)5(3)无(4)4(5)无(6)5问题36、【简答题】试题六(共15分)阅读以下应用说明以及VisualBasic程序代码,将应填入(n)处的字句写在答题纸的对应栏内。应用说明某电视台拟开发应用程序来显示戏曲大赛中14号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱(以高度反映票数)与累计得票数,如图6-1所示。投票过程限时30秒,每名观众最多为1名选手投票。投票结束后系统通过比较各位选手的累计得票数,显示决赛结果:“*号胜出”(如有单个冠军)或“继续进行PK”(如有多人获得相同的最高票数)。图6-1在开发该程序的过程中创建的主要控件及其初始属性值说明如下:该程序中设置公共变量T动态记录投票时间。四个形状ShpM(1to4)动态增长的底线固定。VisualBasic程序代码DimTAsInteger声明全局变量PrivateSubForm_Load()Fori=1To4ShpM(i).Top=2000:ShpM(i).He

      《2021年下半年程序员下午试卷_3》由会员阳光****活分享,可在线阅读,更多相关《2021年下半年程序员下午试卷_3》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.