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

考练结合题程序员考试测练习题3及答案(1)(1)(备考)

18页
  • 卖家[上传人]:lili****2007
  • 文档编号:235725717
  • 上传时间:2022-01-06
  • 文档格式:DOC
  • 文档大小:227KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、温故而知新,下笔如有神。近两年程序员考试专题测练题及答案试题一阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。【说明】对于大于1的正整数n,(x+1)n可展开为下面流程图的作用是计算(x+1)n展开后的各项系数(i=0,1,.,n)并依次存放在数组A0.n中。方法是依次计算k=2,3,.,n时(x +1)k的展开系数并存入数组A,在此过程中,对任一确定的k,利用关系式,按照i递减的顺序逐步计算并将结果存储在数组A中。其中,和都为1,因此可直接设置A0、Ak的值为1。例如,计算(x+1)3的过程如下:先计算 (x+1)2 ( 即k=2) 的各项系数,然后计算(x+1)3(即k=3)的各项系数。K=2时,需要计算,和,并存入A0 ,A1和A2,其中A0和A1的值已有,因此将(即 A1)和即 (A0)相加得到的值并存入A1。k=3 时,需要计算,和和,先计算出 (由)得到并存入A2,再计算 (由得到)并存入A1。 【问题1】【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。格式为:循环控制变量=初值,终值,递增值。(1)2,n,1(2)Ak(3)

      2、k-1,1,-1(4)Ai+Ai-1(5)Ai(1)(3)空为填写循环初值终值和递增值,题目中给出的格式为循环控制变量=初值,终值,递增值。按照题意,实质为求杨辉三角。如下图:计算方式为从第2行计算迭代到计算第3行,再根据第3行值求取第4行,直到计算到第n行。所以第一空填2,n,1。而对于每行的求取,第1项结果一直为1,最大项一直是1,可以直接赋值,所以第二空填Ak。然后从倒数第二项开始计算,依次往前计算。所以第三空的填k-1,1,-1。因为:,故有Ai=Ai+Ai-1。(注意Ai+Ai-1保留的k-1行的结果)。试题二阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位置,依此类推,第i趟从n-i+1个元素中选出最小元素,将其交换至第i个位置,通过n-1趟选择最终得到非递减排序的有序序列。 【问题1】【代码】#include void selectSort(int data ,i

      3、nt n)/对 data0datan-1中的n个整数按非递减有序的方式进行排列 int i,j,k; int temp; for(i=0;in-1;i+) for(k=i,j=i+1;(1);(2)) /k表示dataidatan-1中最小元素的下标 if(datajdatak) (3) if(k!=i) /将本趟找出的最小元素与datai交换temp=datai;(4);datak=temp;int main() int arr =79,85,93,65,44,70,100,57;int i,m; m=sizeof(arr)/sizeof(int); /计算数组元素的个数,用m表示(5); /调用selectSort对数组arr进行非递减排序 for((6);i m;i+) /按非递减顺序输出所有的数组元素 printf(“%dt”,arri);printf(“n”); return 0;(1)jn或者j=n-1(2)j+(3)k=j(4)datai=datak(5)selectSort(arr,m)此处m也可以填8或者sizeof(arr)/sizeof(int), arr可以改成

      4、&arr0(6)i=0本题考查 C 程序设计基本技能及应用。简单选择排序方法是设所排序序列的记录个数为n。i取1,2,n-1,从所有n-i+1个记录(Ri,Ri+1,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟后就完成了记录序列的排序。第1空应填j循环结束条件,j应该运行至序列末尾。填jn或者j=n-1;第2空填j循环控制语句,j每次递增1,往后移动一个元素与ai进行比较。第3空为自动保存最大元素的下标,k=j。第4空为交换两个元素,temp为临时变量,保存datai的值,使用datai=datak使datai为后面n-i+1个记录(Ri,Ri+1,Rn)中找出排序码最小的记录,再将temp赋给datak。第5空为调用selectSort对数组arr进行非递减排序,selectSort有两个参数,数组和排序元素个数,为selectSort(arr,m)。第6空进行元素遍历输出所有的数组元素,从下标为0开始,所以填i=0。试题三阅读以下代码和问题,回答问题1至问题3,将解答填入答题纸的对应栏内。【代码 1】typedef enum A,B,C,D EnumType;Enu

      5、mType f(int yr)if(0 = yr%400) return A; else if (!(yr%4) if(0!=yr%100) return B;else return C;return D;【代码2 】#includeint main()int score;scanf(%d,&score); switch (score) case 5: printf(Excellent!n); case 4: printf(Good!n); break; case 3: printf(Average!n);case 2: case 1: case 0: printf(Poor!n); default: printf(Oops,Errorn);return 0;【代码3】#includeint main()int i,j,k;for(i=0; i2; i+) for(j=0; j3;j+)for( k=0; k2;k+) if(i!=j&j!=k)printf(%d %d %dn, i,j,k); ruturn 0; 【问题1】(4分)对于代码1,写出下面的函数调用后x1 、x2、x3和

      6、x4的值。x1 = f(1997);x2 = f(2000);x3 = f(2100);x4 = f(2020); x1=3;x2=0;x3=2;x4=1第一个条件 0=yr%400, 2000满足,返回为A;其余都不满足,继续进行判断;第二个条件 !yr%4, 1997不满足,返回为D;其余满足,继续进行判断;第三个条件 0!=yr%100,2020满足,返回为B;2100不满足,返回为C。枚举类型中列出的每一个枚举符都对应着一个整数值,枚举类型实际上是一个整型符号常量的集合。当定义枚举类型时,枚举符都已经被系统隐含地赋予了一个整型值,默认情况下,第一个元素为0,第二个元素为1,依此类推。所以相应的A=0,B=1,C=2,D=3,故返回为:x1=3;x2=0;x3=2;x4=1。【问题2】(5分)(1)写出代码2进行时输入为3的输出结果;(2)写出代码2进行时输入为5的输出结果。 (1)Average!poor!Oops,Error(2)Excellent!Good!控制传递给与开关的值匹配的 case 语句。switch 语句可以包括任意数目的 case 实例,但是任何两个 cas

      7、e 语句都不能具有相同的值。语句体从选定的语句开始执行,直到 break 将控制传递到 case 体以外。case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即只是开始执行处的入口标号. 因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入 下一个case继续执行,而不在判断是否与之匹配,直到遇到break语句才停止执行,退出break语句.因此,若想执行一个case分之后立即跳出 switch语句,就必须在此分支的最后添加一个break语句。【问题3】(6分)写出代码3运行后的输出结果。0 1 00 2 00 2 11 0 11 2 01 2 1此题考察多重for循环再加上一个判定条件,i的取值为(0,1),j的取值为(0,1,2),k的取值为(0,1),只要按顺序找到i!=j且j!=k的组合即可。试题四阅读以下说明、C函数和问题,回答问题1和问题2将解答填入答题纸的对应栏内。【说明】当数组中的元素已经排列有序时,可以采用折半查找(二分查找)法查找一个元素。下面的函数biSea

      8、rch(int r,int low,int high,int key)用非递归方式在数组r中进行二分查找,函数biSearch_rec(int r,int low,int high,int key)采用递归方式在数组r中进行二分查找,函数的返回值都为所找到元素的下标;若找不到,则返回-1。【C函数1】int biSearch(int r,int low,int high,int key)/rlow.high 中的元素按非递减顺序排列/用二分查找法在数组r中查找与key相同的元素/若找到则返回该元素在数组r的下标,否则返回-1int mid;while((1)) mid = (low+high)/2 ;if (key =rmid)return mid;else if (keyrmid)(2);else (3);/*while*/return -1;/*biSearch*/【C 函数 2】int biSearch_rec(int r,int low,int high,int key)/rlow.high中的元素按非递减顺序排列/用二分查找法在数组r中查找与key相同的元素/若找到则返回该元素在数组r的下标,否则返回-1int mid;if((4)) mid = (low+high)/2 ;if (key =rmid)return mid;else if (keyrmid)return biSearch_rec((5),key);elsereturn biSearch_rec((6),key); /*if*/return -1;/*biSearch_rec*/ 【问题1】 (12分)请填充C函数1和C函数2中的空缺,将解答填入答题纸的对应栏内。 (1)low=high(2)high=mid-1(3)low=mid+1(4)l

      《考练结合题程序员考试测练习题3及答案(1)(1)(备考)》由会员lili****2007分享,可在线阅读,更多相关《考练结合题程序员考试测练习题3及答案(1)(1)(备考)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党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.