2017ACM比赛考试试题.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017年计算机ACM编程竞赛 主办:计算机科学与技术学院 时间:2017-11-22 18:00---20:00 地点:计算机学院奋进楼4楼5机房 竞赛规则 比赛时间为120分钟,从18:00开始,20:00结束。 比赛形式为上机编程,每个小组使用三台电脑,可任选语言,同一小组不同题目可使用不同语言; 比赛期间可以使用自己电脑,不可查阅书籍、但禁止查阅个人U盘,禁止使用手机、电脑进行上网查询,禁止使用现有代码,违者取消比赛资格;(正式ACM中是可以携带纸质材料的,但由于本次比赛,有大量题目参考书上例题,所以就不让携带了) 比赛期间,如遇到设备问题,可举手示意工作人员; 由于机房电脑系统有重启还原功能,比赛期间请勿轻易重启电脑; 【重要】比赛结束后,请确认将所要提交文件拷至工作人员U盘,否则成绩无效概不负责。 提交方式 创建文件夹,文件夹命名格式为 小组号-小组队长-组员1-组员2 将每一题的源程序文件夹以题目编号命名,拷贝至上述创建的文件夹中 在本文档中每题相应位置附上源码及截图(windows截图键:Alt+Prt sc sysrq),拷贝至上述创建的文件夹中 比赛结束后将上述文件夹拷贝至工作人员U盘中,提交方算完成,提交完成前请勿重启电脑。 注:本次比赛共14题,满分120分。没有完成题目,但有部分解题步骤者按完成度给分。每道题要有注释。 竞赛题目 1. 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。输入数据有多组,每组占一行,每行的第一个数是n(2n100),表示评委的人数,然后是n个评委的打分。(5分) 【要求】 输入数据:输入数据有多组,每组占一行,每行的第一个数是n(2n100)表示 评委的人数,然后是n个评委的打分。 输出数据: 对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。 【样例输入】 3 99 98 97 4 100 99 98 97 【样例输出】 98.00 98.50 2. 使用for循环、while循环和递归写出3个函数来计算给定数列的总和。(5分) 【要求】 输入数据:n(表示数组长度) 一组数字(如:1,2,3,4,5) 输出数据:该组数字的和 3. 编写一个计算前100位斐波那契数的函数。根据定义,斐波那契序列的前两位数字是0和1,随后的每个数字是前两个数字的和。例如,前10位斐波那契数为:0,1,1,2,3,5,8,13,21,34。(5分) 【要求】 输入数据:n(表示前n位斐波那契数列 ) 输出数据:n位斐波那契数列 4.实现两个矩阵的相加。(5分) 例如: 2 3 5 3 5 6 5 8 11 3 1 6 + 1 2 4 = 4 3 10 2 6 7 2 4 6 4 10 13 【要求】 输入数据:两个矩阵 数据不限 输出数据:这两个矩阵的和 5. 二分查找是一种针对有序集合的查找方法。通过比较查找键K和数组中间元素A[M]来完成查找工作。如果它们相等,算法结束。否则,如果K A[M],就对数组的前半部分执行该操作,如果K A[M],则对数组的后半部分执行该操作。(5分) 伪代码: BinarySearch(A[0..N-1],K) //实现非递归的折半查找 //输入:一个升序数组A[0…N-1]和一个查找键K //输出:一个数组元素的下标,该元素等于K;如果没有这样一个元素,则返回-1 i - 0; r - n – 1 while i = r do m - [(i + r) / 2] if K = A[m] return m else if K A[m] r - m – 1 else l - m + 1 return -1 【要求】 输入数据:一个有序数组 和 要查找的数字 输出数据:返回查找数字的位置没有则返回-1 【样例输入】 4,5,8,9,10 8 【样例输出】 2 6. 汉诺塔。汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘,请用编程实现。(7分) 【要求】 输入数据:无 输出数据:盘子的移动过程 (例如:用abc表示三个柱子 第n个盘子 a ----? b) 7. 简单计算机。有一台功能极其简单的计算机,只能计算简单的七种指令A、B、C、D、E、F;只有两个内存M1、M2;只有三个寄存器R1、R2、R3,六种指令的含义如下: 命令A:将内存M

文档评论(0)

jyr0221 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档