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

近些年程序员考试专题测练题及答案()(考练提升)

16页
  • 卖家[上传人]:lili****2007
  • 文档编号:235726953
  • 上传时间:2022-01-06
  • 文档格式:DOC
  • 文档大小:229.50KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、温故而知新,下笔如有神。近些年程序员考试专项测练及答案试题一阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】如果一个自然数N恰好等于它所有不同的真因子(即N的约数以及1,但不包括N)之和S,则称该数为“完美数”。例如6123,28124714,所以6和28都是完美数。显然,6是第1个(即最小的)完美数。下面流程图的功能是求500以内所有的完美数。【流程图】循环开始框中要注明:循环变量初始值,终值,步长,步长为1时可以缺省。如果某自然数小于其所有真因子之和(例如2412346812),则称该自然数为亏数:如果某自然数大于其所有真因子之和(例如8124),则称该自然数为贏数如果某自然数等于从1开始的若干个连续自然数之和(例如101234)则称该自然数为三角形数数。据此定义,自然数496是( )。供选择答案:(1)A.亏数 B.赢数 C.完美数,非三角形数 D.完美数和三角形数【答案】(1)2(2)N%K(3)S+K(4)S(5)D 【解析】 流程图的功能是求500以内所有的完美数,N的值范围是6500,因此N是需要判断是否为完美数,首先需要求出N的所有真因子,

      2、然后再判断N和真因子之和是否相等,从流程图可以看出S是保存真因子和的变量,K是保存真因子的变量,因此K的初始值是2,终值是N/2,因此第(1)空处填写:2;判断K是否为N的真因子,即判断N%K(N除以K取余)是否为0,第(2)空填写:N%K;当K为N的真因子时,需要计算所有K的和,即S=S+K,第(3)空填写:S+K;最后判断N和S是否相等,第(4)空填写:S。496的真因子有:1、2、4、8、16、31、62、124、248,1+2+4+8+16+31+62+124+248=496;因此496是完美数,同时496=(1+2+3+4+30+31),因此496是完美数和三角形数。试题二阅读以下说明和C代码,填写程序中的空(1)(5),将解答写入答题纸的对应栏内。【说明】直接插入排序是一种简单的排序方法,具体做法是:在插入第i个关键码时,k1,k2,ki-1已经排好序,这时将关键码ki依次与关键码ki-1,ki-2,进行比较,找到ki应该插入的位置时停下来,将插入位置及其后的关键码依次向后移动,然后插入ki。例如,对17,392,68,36按升序作直接插入排序时,过程如下:第1次:将392

      3、(i1)插入有序子序列17,得到17,392;第2次:将68(i2)插入有序子序列17,392,得到17,68,392;第3次:将36(i3)插入有序子序列17,68,392,得到17,36,68,392,完成排序。下面函数 insertSort用直接插入排序对整数序列进行升序排列,在main函数中调用insertSort并输出排序结果。 【C代码】void insert Sort(int data,int n)/*用直接插入排序法将data0 datan-1中的n个整数进行升序排列*/ int i,j; int tmp; for(i=1; i=0 & dataj tmp;j) /查找插入位置并将元素后移 (2); (3)=tmp; /插入正确位置 /*if*/ /*for*/*insertSort*/int main() int *bp,*ep; int n,arr=17,392,68,36,291,776,843,255; n = sizeof(arr) / sizeof(int); insertSort(arr,n); bp=(4); ep = arr+n; for(;bpep;

      4、 bp+) /按升序输出数组元素 printf(%dt,(5)); return 0;【答案】(1)datai-1(2)dataj+1=dataj(3)dataj+1(4)arr(5)*bp【解析】 直接插入排序法是将关键码插入已经排好的序列中,因此将datai插入序列data0datai-1中,此时序列data0datai-1已经按照升序排列好,而datai应插入位置前的数据应该比datai小,而插入位置后的数据应比datai大,在if语句中判断datai=datai-1,则将datai插入到di-1后;若datai=0&datajtmp;j-)循环,从datai-2开始向前逐一比较,即j从i-2开始向0循环,若datajtmp,则进行for循环,此时需要将dataj即datai-2的值后移,使得datai-1=datai-2,即dataj+1=dataj,然后j-,用tmp与dataj进行比较,如果tmp dataj,则说明tmp应放在dataj之前,那么dataj需要继续往后移动。所以dataj+1= dataj。 当该循环结束时,此时有2种情况:(1)j=-1tmp;应使得da

      5、ta0后移,即data1=data0,data0=tmp,因此第3空填写dataj+1;(2)dataj=tmp;此时需要将tmp插入到dataj后,即dataj+1=tmp。在main函数中调用insertSort函数并输出数组元素,在for(; bpep;bp+)中循环变量是bp,因此输出的是bp指向的数组元素,即调用insertSort函数后返回的数组arr,因此bp=arr(bp是指针变量,数组名arr可以直接将数组地址传递给bp);在printf函数中输出bp;因此printf(“%dn”,*bp)。试题三阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】float adjustSalary(int service_year,int age,float salary) if( service_year 30 ) salary *= 1.2; else salary *= 2.0; return salary;【C代码2】void foo(int coin) switch (coin) case 1: printf(Centn); case 5: pr

      6、intf(Nicke1n);break; case 10: printf(Dimen); case 25: printf(Quartern); 【C代码3】int getSum(int n)int t, i = 0, sum = 0;while ( i n ) scanf(%d, &t); if( t0 ) continue;sum += t; i+; return sum; 【问题1】(3分)对于【C代码1】,写出下面的函数调用后x1、x2和x3的值。x1 = adjustSalary(1,25,9000.0);x2 = adjustSalary(8,32,7000.0);x3 = adjustSalary(5,41,5000.0); 【问题2】(6分)(1)写出函数调用为foo(1)的输出结果;(2)写出函数调用为foo(5)的输出结果;(3)写出函数调用为foo(10)的输出结果;(4)写出函数调用为foo(25)的输出结果。 【问题3】(6分)(1)简要说明【C代码3】中的函数getSum()的功能;(2)程序员小王将函数getSum改写后得到下面的函数getSum_v2(即用

      7、for语句来描述循环)。请问,getSum_v2的功能是否与【C代码3】的getSum完全相同,若不同,请说明原因。答案:【问题1】(1)x1=9000.000000(2)x2=14000.000000(3)x3=6000.000000【解析】 对于x1,service_year=1,age=25,salary=9000.0,首先判断service_year=5,因此再判断age5,因此直接进行else中的运算,salary=7000.0*2.0=14000.0,由于salary为float类型数据,因此输出为14000.000000。 对于x3,service_year=5,age=41,salary=5000.0,首先判断service_year30,进行运算salary=5000.0*1.2=6000.0,由于salary为float类型数据,因此输出为6000.000000。【问题2】(1)foo(1):Cent Nickel(2)foo(5):Nickel(3)foo(10):Dime Quarter(4)foo(25):Quarter【解析】foo(1):coin=1,执行printf(“Centn”),输出Cent并回车,继续执行printf(“Nickeln”),输出Nickel并回车,再执行break,结束foo函数。foo(

      《近些年程序员考试专题测练题及答案()(考练提升)》由会员lili****2007分享,可在线阅读,更多相关《近些年程序员考试专题测练题及答案()(考练提升)》请在金锄头文库上搜索。

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