大学生程序的设计竞赛试题正式赛
计算机程序设计大赛竞赛题
![计算机程序设计大赛竞赛题](https://img.taocdn.com/s3/m/e3d98674f46527d3240ce032.png)
计算机程序设计大赛竞赛题□JS 竞赛题题目要求:用HTML + CSS + JavaScript制作一个前台页面(index.html)。
你可以使用纯JavaScript实现页面的动态效果,也可以使用JavaScript库,但最好是jQuery。
注:CSS、JavaScript要独立于html文件,单独保存为外部文件(如index.css、inde x.js)。
具体要求如下:1、设计一个有布局的界面,你可以使用tab或者tree形目录作为导航,但每级导航的内容不可存在于该文件(index.html)中,要放在另外的html文件里。
tree形目录作为导航的,要至少支持3级导航。
希望你能够把以下要求的实现作为某级导航的内容放在该级导航下。
该页面是你展示后续实现的门户,所以请尽量注意美观。
2、使用“题目要求”中提及的技术,实现一个4×4的拼图游戏。
在实现以下“基本要求”的前提下才可以实现后续的“扩展要求”。
“基本要求”务必全部实现,“扩展要求”请尽可能多地实现。
基本要求:1)格子内必须是图片而不是字符。
示例如图1。
图12)通过鼠标点击有图片的格子,将其移动到相邻的无图片的格子。
3)要有游戏功能控制按钮,如“开始”、“重来”等。
4)游戏成功完成后要有提示。
5)需要时请考虑JavaScript的执行效率。
6)游戏的CSS、JavaScript要独立于html文件,单独保存为外部文件。
扩展要求:1)必须考虑JavaScript的执行效率。
2)支持键盘方向键操作,即←↑↓→键的操作。
3)支持“计时”、“计步”玩法。
4)支持预定义好的几种矩阵(方阵)大小,甚至自定义的矩阵(方阵)大小,5×5、6×6等等。
5)支持不只1张拼图背景图片,甚至自定义的拼图背景图片。
6)支持智能拼图,即游戏初始时或游戏进行过程中,通过智能拼图功能完成余下步骤,当然,每一步的时间间隔要足以让肉眼辨别。
3、页面的美观度,布局的合理性,动态效果的流畅度也是评分的重点。
大学生程序设计竞赛样题
![大学生程序设计竞赛样题](https://img.taocdn.com/s3/m/dbe06e462b160b4e767fcfce.png)
附件2 :大学生程序设计竞赛样题(更多样题参见172.24.10.6)Description著名的哥德巴赫猜想是:每个不小于6的偶数都可以表示为两个奇素数之和。
例如,16=3+13=5+11。
下面需要你来编程验证一下哥德巴赫猜想是否正确。
Input在输入的若干行数据中,每行仅有一个偶数N(6<=N<=2000000000)。
Output你需要输出N行数据,每行以升序输出两个素数,这两个素数的和等于输入中的那个偶数,如果有多种选择,输出乘积最大的,例如N==16时,输出511,而不是313。
当你发现偶数N不能拆分成两个素数时,请立刻放下手中的程序,直接到A9找校长,因为你和大连东软信息学院都将名垂青史。
Sample Input61620Sample Output3 35 117 13C语言答案供参考:#include<stdio.h>#include<math.h>int is_prime(int n){int m=sqrt(n);int i;for(i=2;i<=m;++i)if(n%i==0) return 0;return 1;}void main(){int n;while(scanf("%d",&n)!=EOF){int m=n/2;if(m%2==0) --m;while(1){if(is_prime(m)&&is_prime(n-m)){printf("%d %d\n",m,n-m);break;}else m-=2;}}}。
程序设计大赛试题及答案
![程序设计大赛试题及答案](https://img.taocdn.com/s3/m/49743456b14e852459fb572d.png)
试题1、数学黑洞(程序文件名maths.c/maths.cpp)【问题描述】任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。
对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。
【输入】一行,一个4位正整数n(1000< n<9999)【输出】掉进黑洞的步数输入1234输出32、进制转换(程序文件名conver.c/conver.cpp)【问题描述】任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。
【输入】一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。
【输出】转换后的数【输入输出样例】输入255 8输出3773、分数线划定(程序文件名score.c/score.cpp)【问题描述】公务员选拔工作正在 A 市如火如荼的进行。
为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。
面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。
现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。
【输入】第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。
输入数据保证m*150%向下取整后小于等于n。
第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。
数据保证选手的报名号各不相同。
大学程序设计大赛试题答案
![大学程序设计大赛试题答案](https://img.taocdn.com/s3/m/87fc13993086bceb19e8b8f67c1cfad6195fe9d8.png)
大学程序设计大赛试题答案一、选择题1. 在C++中,下列哪个关键字用于定义常量?A. staticB. volatileC. constD. mutable答案:C2. 以下关于Python中的列表(list)说法正确的是:A. 列表是不可变的序列类型。
B. 列表不支持添加元素。
C. 列表可以包含不同类型的元素。
D. 列表的元素不能被删除。
答案:C3. 在Java中,关于异常处理的描述,以下哪项是正确的?A. try块中必须跟catch块。
B. catch块可以捕获所有类型的异常。
C. finally块可以用于执行清理操作,无论是否发生异常都会执行。
D. throw关键字用于声明一个可能抛出的异常类型。
答案:C4. 以下关于数据库事务的描述,哪项是错误的?A. 事务具有原子性。
B. 事务具有一致性。
C. 事务具有隔离性。
D. 事务不具备持久性。
答案:D5. 在HTML5中,用于创建交互式内容的标签是:A. <canvas>B. <svg>C. <iframe>D. <audio>答案:A二、填空题1. 在JavaScript中,可以使用________函数来获取字符串的长度。
答案:length2. 在Python中,使用________关键字可以遍历字典中的所有键。
答案:keys()3. SQL语句中,用于删除表中所有记录但保留表结构的命令是________。
答案:TRUNCATE TABLE4. 在C语言中,使用________关键字可以定义一个指针变量。
答案:*(星号)5. 正则表达式中,\d表示匹配一个________字符。
答案:数字三、编程题1. 题目描述:编写一个程序,输入一个整数n,输出n的阶乘。
C++代码示例:```cpp#include <iostream>using namespace std;int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int n;cin >> n;cout << factorial(n) << endl;return 0;}```2. 题目描述:编写一个Python程序,实现一个简单的计算器,支持加、减、乘、除功能。
acm程序设计大赛试题
![acm程序设计大赛试题](https://img.taocdn.com/s3/m/2de7fc67abea998fcc22bcd126fff705cc175cd1.png)
acm程序设计大赛试题ACM(Association for Computing Machinery)程序设计大赛是一项面向大学生的编程竞赛,旨在提高参赛者在算法和数据结构方面的能力。
每年都会举办多个级别的比赛,包括区域赛、国家赛和世界总决赛。
ACM程序设计大赛试题通常涵盖广泛的计算机科学和编程知识,包括但不限于以下几个方面:1. 算法和数据结构,试题可能涉及各种经典算法和数据结构的应用,如排序、查找、图论、动态规划、贪心算法等。
参赛者需要能够理解这些算法的原理和实现方法,并能够根据问题的要求选择合适的算法进行解题。
2. 编程语言和编程技巧,参赛者需要熟练掌握至少一种编程语言,通常是C++、Java或Python。
他们需要能够使用该语言进行编程,实现算法和数据结构的代码,并能够处理输入输出、异常处理等编程任务。
此外,熟练掌握一些编程技巧,如优化算法、调试代码等也是非常重要的。
3. 数学和逻辑思维,ACM程序设计大赛试题可能涉及一些数学和逻辑问题,如数论、组合数学、概率统计等。
参赛者需要具备基本的数学知识,并能够将其应用到解题过程中。
4. 实际问题的建模和解决,ACM程序设计大赛试题通常基于实际问题,参赛者需要能够将问题抽象为计算机可解决的形式,并设计出高效的算法和数据结构进行求解。
这需要参赛者具备一定的问题建模和解决能力。
5. 时间和空间复杂度分析,参赛者在解决问题时需要考虑算法的时间和空间复杂度。
他们需要能够分析算法的运行时间和所需内存,并根据比赛规则和问题要求选择合适的算法以保证程序的效率。
总的来说,ACM程序设计大赛试题要求参赛者具备扎实的计算机科学和编程基础,能够独立思考和解决复杂的问题。
参赛者需要在规定的时间内完成试题,并保证程序的正确性和效率。
通过参加ACM程序设计大赛,参赛者能够提升自己的编程能力和解决问题的能力,同时也能够与其他优秀的程序员交流和学习。
bupt程序设计竞赛题目
![bupt程序设计竞赛题目](https://img.taocdn.com/s3/m/e2b7dd96250c844769eae009581b6bd97e19bc49.png)
bupt程序设计竞赛题目
BUPT程序设计竞赛题目可以涉及各种编程语言和算法题目。
以下是一些可能的BUPT程序设计竞赛题目示例:
1. 编写一个程序,接受一个整数输入n,计算并输出从1到n 的所有整数的平方。
2. 设计一个程序,接受一个字符串输入,统计并输出字符串中每个字符出现的次数。
3. 编写一个程序,实现一个简单的计算器,可以进行加减乘除四则运算。
4. 设计一个程序,接受一个整数输入n,计算并输出斐波那契数列的第n个数。
5. 编写一个程序,实现一个简单的图书管理系统,包括图书的增删改查功能。
6. 设计一个程序,接受一个字符串输入,判断该字符串是否为
回文字符串。
7. 编写一个程序,实现一个简单的迷宫游戏,玩家需要找到出
口并避开障碍物。
8. 设计一个程序,接受一个整数输入n,计算并输出n的阶乘。
9. 编写一个程序,实现一个简单的日程管理系统,可以添加、
删除和查询日程。
10. 设计一个程序,接受一个整数输入n,判断n是否为素数。
以上只是一些示例题目,实际的BUPT程序设计竞赛题目可能更
加复杂和具体。
在竞赛中,参赛者需要根据题目要求,使用合适的
编程语言和算法进行解题,并确保程序的正确性和效率。
2023全国大学生程序设计竞赛题目
![2023全国大学生程序设计竞赛题目](https://img.taocdn.com/s3/m/6c1d6716657d27284b73f242336c1eb91a373387.png)
2023全国大学生程序设计竞赛题目今年的全国大学生程序设计竞赛将于2023年举行。
本次竞赛将囿于程序设计领域,旨在考察参赛选手的编程能力、解决问题的能力以及团队合作精神。
以下是本次比赛的几道题目,希望能够为参赛选手提供一些思路和挑战。
题目一:图书管理系统设计一个图书管理系统,能够实现以下功能:1. 图书录入:包括图书的基本信息(书名、作者、出版社等)以及库存数量。
2. 图书查询:根据关键词(书名、作者等)进行图书查询,并显示图书的详细信息。
3. 借书与还书:实现图书的借出和归还功能,并更新库存数量。
4. 图书推荐:根据用户的借阅历史推荐相关图书。
题目二:火车票订购系统设计一个火车票订购系统,能够实现以下功能:1. 火车线路与时刻表:提供火车线路和时刻表信息,包括出发地、目的地、经停站点和到达时间等。
2. 站点查询:根据出发地和目的地查询经停该站点的火车。
3. 车票预订:用户选择出发地、目的地和乘车日期后,系统显示可用车次和余票数量,并支持用户预订车票。
4. 订单管理:用户可以查看自己的订单信息,包括已购车票的详细信息和订单状态。
题目三:智能家居控制系统设计一个智能家居控制系统,能够实现以下功能:1. 设备控制:包括灯光、温度、窗帘等设备的远程控制。
2. 定时任务:用户可以设置定时任务,如定时开关灯光、调节室内温度等。
3. 情景模式:用户可以设置情景模式,如影院模式、就寝模式等,系统将根据用户的设置自动调节设备状态。
4. 能耗统计:系统能够记录和展示各个设备的能耗,以便用户了解和管理家庭的能源消耗。
以上是本次竞赛的几道题目,希望参赛选手能够根据自己的技能和经验,在规定时间内完成这些挑战。
祝愿大家在比赛中取得好成绩,展现自己优秀的程序设计和解决问题的能力!。
郑州大学第四届程序设计竞赛试题
![郑州大学第四届程序设计竞赛试题](https://img.taocdn.com/s3/m/3cdc9e23192e45361066f5f8.png)
Programming Contest of Zhengzhou Univercity In honor of JacmY,one of the best programers in ZZUACM lab.1.数数我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。
因此当他看到123时会说“321”。
现在有一位德国来的教授在郑州大学进行关于ACM的讲座。
现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。
现在你已经找到了对应的页码,要用英文把页码告诉他。
为了简化我们的问题,你只需要返回单词的大写的首字母。
(“数字0”读成“字母O”)注意:每个数字式单独读取的,因此不会出现11读成double one的情况。
Input输入分两部分:第一部分:一个整数T(1<=T<=1000)第二部分:一共T行,每行为一个数字。
每个数的长度不超过10位。
O u tput每组输出单独占一行,输出对应的返回给德国教授的页码缩写。
SampleInput Output212 1234TO FTTO2.无线网络覆盖我们的乐乐同学对于网络可算得上是情有独钟,他有一个计划,那就是用无线网覆盖郑州大学。
现在学校给了他一个机会,因此他要购买很多的无线路由。
现在他正在部署某条大道的网络,而学校只允许把他的无线路由器放在路的正中间。
我们默认这条大道是笔直的并且它在任何地方的宽度都一样。
并且所有的路由器的覆盖面积是相同的。
现在乐乐计算出这条大道的长和宽,以及路由器的覆盖半径,想起你帮忙帮他计算出他最少要购买的路由器的数量。
注意:为了防止某种干扰,两台无限路由之间的最小距离不能小于1米。
图1中为一条矩形的道路,中间的虚线代表中线。
图2为最小覆盖的示意图。
I nput输入包括多组测试数据:第一部分:一个整数T(1<=T<=500)。
国际大学生程序设计大赛(ACMICPC)简介及竞赛样题
![国际大学生程序设计大赛(ACMICPC)简介及竞赛样题](https://img.taocdn.com/s3/m/9662283253d380eb6294dd88d0d233d4b14e3f79.png)
国际大学生程序设计大赛(ACMICPC)简介及竞赛样题附件二国际大学生程序设计大赛(ACM/ICPC)简介相关情况简介一>、历届ACM-ICPC亚洲预选赛中国内地部分赛区参赛情况二>、历届ACM-ICPC全球总决赛中国内地高校获奖情况注:***金牌,**银牌,*铜牌;--表示未参加上一年的地区预赛,/ 表示上一年的地区预赛未能出线。
ACM/ICPC大赛简介ACM/ICPC (ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,是世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。
其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。
该项竞赛从1970年至今已举办了34届,受到国际各知名大学的普遍重视,并受到全世界各著名计算机公司的高度关注,是信息企业与世界顶尖计算机人才对话的最好机会。
ACM国际大学生程序设计竞赛已成为世界各国大学生最具影响力的国际计算机类的赛事,是广大爱好计算机编程的大学生展示才华的舞台,是各个大学计算机教育成果的直接体现。
在过去十几年中,世界著名信息企业APPLE、AT&T、MICROSOFT和IBM分别担任了竞赛的赞助商。
中国大陆高校从1996年开始参加ACM/ICPC亚洲预赛,主要是各个重点院校。
该项竞赛分为区域预赛和国际决赛两个阶段进行,各预赛区第一名自动获得参加世界决赛的资格,世界决赛安排在每年的3~4月举行,而区域预赛安排在上一年的9~12月在各大洲举行。
ACM/ICPC的区域预赛是规模很大、范围很广的赛事,但历届河南省各高校却极少组队参加,为了提升和检验河南省计算机教育水平,河南省计算机学会从2008年开始,在河南省推广开展ACM国际大学生程序设计竞赛,为广大的爱好计算机编程的大学生提供展示才华的舞台,为河南省各高校组队参加ACM/ICPC的区域预赛的提供实战的场地,并以此为契机推动河南省计算机教育水平的提高。
程序设计大赛试题及答案()
![程序设计大赛试题及答案()](https://img.taocdn.com/s3/m/d1802ef3dd88d0d233d46ad7.png)
试题1、数学黑洞(程序文件名maths.c/maths.cpp)【问题描述】任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。
对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。
【输入】一行,一个4位正整数n(1000< n<9999)【输出】掉进黑洞的步数输入1234输出32、进制转换(程序文件名conver.c/conver.cpp)【问题描述】任给一个十进制整数n,及正整数m(m<=16且m≠10), 将n转换成m进制并输出。
【输入】一行,两个整数n,m(0 ≤ n ≤ 500000,2 ≤ m ≤ 16,且m≠10),中间用一个空格隔开,其中n 表示十进制数。
【输出】转换后的数【输入输出样例】输入255 8输出3773、分数线划定(程序文件名score.c/score.cpp)【问题描述】公务员选拔工作正在 A 市如火如荼的进行。
为了选拔优秀人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。
面试分数线根据计划录取人数的150%划定,即如果计划录取m名公务员,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。
现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。
【输入】第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的人数。
输入数据保证m*150%向下取整后小于等于n。
第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。
数据保证选手的报名号各不相同。
重庆理工大学第二届大学生程序设计大赛 题目
![重庆理工大学第二届大学生程序设计大赛 题目](https://img.taocdn.com/s3/m/f6a9efc528ea81c758f57838.png)
重庆理工大学第二届大学生程序设计大赛题目试题1:【睿睿的随机数】睿睿想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。
然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。
请你协助睿睿完成“去重”与“排序”的工作。
【输入】输入文件名“random.in”输入文件有2行,第1行为1个正整数,表示所生成的随机数的个数:N第2行有N个用空格隔开的正整数,为所产生的随机数。
【输出】输出文件名“estdout.pc2”输出文件也是2行,第1行为1个正整数M,表示不相同的随机数的个数。
第2行为M个用空格隔的正整数,为从小到大排好序的不相同的随机数。
程序运行后结果示例:【样例输入】1020 40 32 67 40 20 89 300 400 15【样例输出】815 20 32 40 67 89 300 400试题2:【问题描述】大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。
要求给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。
比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1【输入】输入文件名“permutation.in”第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n个正整数,是1,2 …n的一个排列。
【输出】输出文件名“estdout.pc2”对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。
第三届郑州大学程序设计竞赛题目
![第三届郑州大学程序设计竞赛题目](https://img.taocdn.com/s3/m/74560c5fe418964bcf84b9d528ea81c758f52e97.png)
第三届郑州⼤学程序设计竞赛题⽬第三届郑州⼤学程序设计竞赛(2009)【试题⼀】来源: ZDM001句⼦缩写Dr. Kong的四岁⼥⼉Mary刚学会认识英⽂字母。
神奇的是,虽然她还不认识⼀个单词,但你给她⼀个⼩写字母,她马上能写出对应的⼤写字母。
Dr. Kong决定考考⼥⼉Mary,于是布置了⼀个作业,给她若⼲个语句,每个语句由若⼲个单词组成,单词之间严格由⼀个空格隔开,句⼦最后以. 结束。
Mary的任务是把每个句⼦进⾏缩写,即每个句⼦是由各单词的⾸字母构成,缩写⽤⼤写字母表⽰。
你认为Mary能完成任务吗?【标准输⼊】第⼀⾏:N 表⽰有N个句⼦接下来有N⾏,每⾏有⼀个由若⼲单词构成的语句,并以. 结束。
【标准输出】输出有N⾏,每⾏是⼀个对应句⼦的缩写【约束条件】1≤N≤ 10每个单词都是由⼩写字母组成,单词长度不超过10。
句⼦的总长度不超过80。
【样例】【试题⼆】来源: BLLA +B +C 问题热⾝赛的时候,⼤家完成了A+B 问题,jsxgblcxp觉得,如果在正式⽐赛的时候还继续这样问题的话,会显得很⽆趣的。
所以,他决定要出⼀个更难的题⽬。
来增加⼀下⽐赛的趣味。
【标准输⼊】第⼀⾏:N 表⽰有N组数据接下来有N⾏,每组有4个整数:R A B C分别表⽰R进制和你需要求和的三个数字。
【标准输出】每组数据输出⼀⾏,即(A+B+C)R【约束条件】1≤N≤6A B C为正整数,每个正整数不超过50位【样例】如果你真的不知道该怎么写。
那么,请⾯对你⾯前的屏幕这样祈祷:“啊~万能的图灵啊~为什么会有这么长的数字和这么多的进制啊难道世界只有⼀个⼆进制不好么”贪婪的神⽜在上古时代,有⼀位神⽜叫Cheapwine,⼿持⼀把The depression of the Frost⼑( 就是死骑那把霜之哀伤,估计是神⽜秒杀掉DK之后⽤来削苹果的,然后看到这个把⼑挺好看的,于是就留在了⾝边 )。
有⼀天,Cheapwine在郊区ZZU西门外抓兔⼦,今天Cheapwine的rp很⾼,抓到了好多兔⼦。
c语言程序设计比赛试题及答案
![c语言程序设计比赛试题及答案](https://img.taocdn.com/s3/m/b59e0a7c640e52ea551810a6f524ccbff021ca10.png)
c语言程序设计比赛试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法整数常量?A. 0x1AB. 01AC. 0b1010D. 1.23答案:A2. C语言中,哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:B3. 下列哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释D. /* 这是注释答案:B4. C语言中,哪个运算符用于求两个数的和?A. +B. -C. *D. /答案:A5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. C语言中,哪个关键字用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C7. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable$2答案:B8. 在C语言中,哪个关键字用于定义一个指针?A. intB. floatC. charD. *答案:D9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A10. 在C语言中,哪个函数用于计算字符串的长度?A. strcpyB. strcatC. strcmpD. strlen答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型数组的关键字是________。
答案:int2. C语言中,用于定义一个字符型数组的关键字是________。
答案:char3. C语言中,用于定义一个浮点型数组的关键字是________。
答案:float4. C语言中,用于定义一个双精度浮点型数组的关键字是________。
答案:double5. C语言中,用于定义一个字符串的关键字是________。
大学生程序设计大赛试题
![大学生程序设计大赛试题](https://img.taocdn.com/s3/m/6890bd23482fb4daa58d4bcf.png)
试题 2 在二维字符阵列中寻找指定的字符串。 输入:前两行分别指示字符矩阵的宽 w 和高 h(1<=w<=80 且 1<=h<=80)。接下来的 h 行每行 w 个字
符便是字符矩阵的内容,再下面的 1 行为要寻找的字符串的数目 n(n<10),其后的 n 行便是要 寻找的字符串,每个字符串不会超过 20 个字符。 输出:n 行,每行保存 1 个字符串的位置。位置的格式形如(1,2)->(2,6),意为该字符串首字母在字符矩 阵中的位置是第 1 列 2 行,尾字母在字符矩阵中的位置是第 2 列 6 行。 备注:如果某个字符串在字符阵列中出现多次,则只记录任意一个出现位置即可。字符串出现的形式 可能是水平、竖直、向前、向后和斜向。输出的位置顺序应该与输入中的字符串出现顺序一致。 区分字符的大小写。
3
试题 4 在计算机辅助设计(CAD)中,有一个经典问题:消除隐藏线(被其它图形遮住的线段)。你需要 设计一个软件,帮助建筑师绘制城市的侧视轮廓图。为了方便处理,限定所有的建筑物都是矩形的, 而且全部建立在同一水平面上。每个建筑物用一个三元组表示(Li, Hi, Ri)其中 Li 和 Ri 分别是建 筑物 i 的左右边缘坐标,Hi 是建筑物 i 的高度。 下面左图中的建筑物分别用如下三元组表示: (1,11,5),(2,6,7),(3,13,9),(12,7,16),(14,3,25),(19,18,22),(23,13,29),(24,4,28) 下面右图中的城市侧视轮廓线用如下的序列表示: (1,11,3,13,9,0,12,7,16,3,19,18,22,3,23,13,29,0)
编写程序,读入一组-231 至 231-1 之间的数值,输出对应的外星球数值表示。
华南理工大学第一届程序设计竞赛比赛试题
![华南理工大学第一届程序设计竞赛比赛试题](https://img.taocdn.com/s3/m/f9d7e3c6bdeb19e8b8f67c1cfad6195f312be813.png)
华南理工大学第一届程序设计竞赛比赛试题华南理工大学首届大学生程序设计竞赛SCUTCPC试题Problem AIP AddressProblem descriptionSuppose you are reading byte stream s from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1's and '0's (bits) to a dotted decim al format.A dotted decim al format for an IP address is form by grouping 8 bits at a tim e and converting the binary representation to decim al representation. Any 8 bits is a valid part of an IP address. To convert binary numbers to decim al numbers rem ember that both are positional numerical system s, where the first 8 positions of the binary system s are:2726252423222120128 64 32 16 8 4 2 1InputYou should read input data from the file of “ipaddress.in”.The input will have a number N (1<=N<=9) in its first line representing the number of stream s to convert. N lines will follow.OutputOutput your result to the standard output device.The output must have N lines with a doted decim al IP address. A dotted decim al IP address is formed by grouping 8 bit at the tim e and converting the binary representation todecim al representation.Sample Input400000000000000000000000000000000 00000011100000001111111111111111 11001011100001001110010110000000 01010000000100000000000000000001Sample Output0.0.0.03.128.255.255203.132.229.12880.16.0.1Problem BThe Greatest Common Divisor inAncient RomeProblem descriptionYou m ust have retrieved the GCD (Greatest Common Divisor) of two positive integers before. Do you want to have a try, to do that in Ancient Rom e Times?The Ancient Rom an, who lived hundreds of years ago, used a kind of symbols called “Roman numerals” for arithm etic.The following are 7 basic Rom an num erals:These 7 sym bols form all the other numbers. All the numbers are written from left to right. Usually, their values equal to the sum of the basic num erals. For example, seventeen can be represented by:X + V + I + I = XVII10 + 5 + 1 + 1 = 17But when the sam e Roman numerals appear continuously more than 4 tim es, they must be simplified by using the Subtraction Law. For example, “IX” replaces “VIIII” representing 9, and “CD” represents 400 instead of “CCCC”.Roman numerals are easy for Additions and Subtractions, but difficult for multiplication and division. That is the reason why Roman numerals are seldom used today.Now, we will have a try to calculate the GCD of the Rom an Numerals. All the numbers must be in the form of Roman Numerals. And the Subtraction Law is also required.InputYou should read input data from the file of “roman.in”.The input file consists of n lines (0 < n < 1000). Each line consists of two Roman Numerals, a and b, separate by a space.(0 < a < 4000, 0 < b < 4000)Process to End Of File.OutputOutput your result to the standard output device.Print the GCD in the form of Roman Numerals, in separate linesSample InputXXIV XVISample InputVIIIBangla NumbersProblem descriptionBangla numbers normally use 'kuti'(10000000), 'lakh'(100000), 'hajar' (1000), 'shata' (100) while expanding and converting to text. You are going to write a program to convert a given number to text with them.InputYou should read input data from the file of “bangla.in”.The input file may contain several test cases. Each case will contain a non-negative number <= 999999999999999.OutputOutput your result to the standard output device.For each case of input, you have to output a line starting with the case num ber with four digits adjust m ent followed by the converted text.Sample Input2376445897458973958Sample Output1. 23 hajar 7 shata 642. 45 lakh 89 hajar 7 shata 45 kuti 89 lakh 73 hajar 9 shata 58Output format exampleThe NetProblem descriptionTaking into account the present interest in the Internet, a sm art information routing becom es a must. This job is done by routers situated in the nodes of the network. Each router has its own list of routers which are visible for him (so called ``routing table"). It is obvious that the inform ation should be directed in the way which minimizes number of routers it has to pass (so called “hop count").Your task is to find an optim al route (m inimal hop count) for the given network form the source of the inform ation to its destination.InputYou should read input data from the file of “net.in”.First line contains number of routers in the network (n). Nextn lines contain description of the network. Each line contains router ID, followed by a hyphen and comma separated list of ID s of visible routers. The list is sorted in ascending order. Next line contains a number of routes (m) you should determine. The consecutive m lines contain starting and ending routers for the route separated by a single space. Input data m ay contain descriptions of many networks.OutputOutput your result to the standard output device.For each network you should output a line with 5 hyp hens and then, for each route, a list of routers passed by information sent from starting to destination routers.In case passing of information is impossible (no connection exists) you should output a string ``connection im possible". In case of m ultiple routes with the sam e`hop count' the one with lower ID s should be outputted (in case of route form router 1 to 2 as 1 3 2 and 1 4 2 the 1 3 2 should be outputted).Assumptions: A number of routers is not greater than 300 and there are at least 2 routers in the network. Each routers ``sees" no more than 50 routers.Sample Input61-2,3,42-1,33-1,2,5,64-1,55-3,4,66-3,561 61 52 42 53 62 1101-22-3-44-85-16-27-3,98-109-5,6,710-839 105 99 2Sample Output -----1 3 61 3 52 1 42 3 53 62 1-----9 7 3 4 8 10connection impossible9 6 2Problem EDelta-waveProblem descriptionOn the triangular field shown on the picture, sm alltriangles are numbered from1 to ∞(infinity). Travellerwants to go from triangle M to triangle N. Traveller canmove only through the sides of triangles, not vertices. The number of sides he crosses is called the path length.You are to determine the shortest path from M to N.InputYou should read input data from the file of “wave.in”.The first line is the number of test cases, followed by a blank line. Each test case of the input contains integers M and N (1<=M,N<=1000000000), separated by som e spaces. Each test case will be separated by a single line.OutputOutput your result to the standard output device.For each test case, your programm should print the length of the shortest path from M to N. Print a blank line between the outputs for two consecutive test cases.Sample Input16 12Sample Output3Problem FBest SequenceProblem descriptionThe twenty-first century is a biology-technology developing century. One of the most attractive and challenging tasks is on the gene project, especially on gene sorting program. Recently we know that a gene is made of DNA. The nucleotide bases from which DNA is built are A(adenine), C(cytosine), G(guanine), and T(thym ine). Given several segm ents of a gene, you are asked to m ake a shortest sequence from them. The sequence should use all the segm ents, and you cannot flip any of the segm ents.For example, given 'TCGG', 'GCAG', 'CCGC', 'GATC' and 'ATCG', you can slide the segm ents in the following way and get a sequence of length 11. It is the shortest sequence (but m ay be not the only one).InputYou should read input data from the file of “best.in”.The first line is an integer T (1 <= T <= 20), which shows the number of the cases. Then T test cases follow. The first line of every test case contains an integer N (1 <= N <= 10), which represents the number of segments. The following N lines express N segm ents, respectively. Assum ing that the length of any segm ent is between 1 and 20.OutputOutput your result to the standard output device.For each test case, print a line containing the length of the shortest sequence that can be m ade from these segm ents.Sample Input15TCGGGCAGCCGCGATCATCGSample Output11Problem GDivisibilityProblem descriptionConsider an arbitrary sequence of integers. One can place + or - operators between integers in the sequence, thus deriving different arithm etical expressions that evaluate to different values. Let us, for example, take the sequence: 17, 5, -21, 15. There are eight possible expressions:17 + 5 + -21 + 15 = 1617 + 5 + -21 - 15 = -1417 + 5 - -21 + 15 = 5817 + 5 - -21 - 15 = 2817 - 5 + -21 + 15 = 617 - 5 + -21 - 15 = -2417 - 5 - -21 + 15 = 4817 - 5 - -21 - 15 = 18We call the sequence of integers divisible by K if + or - operators can be placed between integers in the sequence in such way that resulting value is divisible by K. In the above example, the sequence is divisible by 7 (17+5+-21-15=-14) but is not divisible by 5.You are to write a program that will determine divisibility of sequence of integers. InputYou shoul d read input data from the file of “divisibility.in”.The first line of the input file contains a integer M indicatingthe number of cases to be analyzed. Then M couples of lines follow.For each one of this couples, the first line contains two integers, N and K(1 <= N <= 10000, 2 <= K <= 100) separated by a space. The second linecontains a sequence of N integers separated by spaces. Each integer is not greater than 10000 by it's absolute value.OutputOutput your result to the standard output device.For each case in the input file, write to the output file the word "Divisible" if given sequence of integers is divisible by K or "Not divisible" if it's not.Sample input24 717 5 -21 154 517 5 -21 15Sample OutputDivisibleNot divisibleProblem HHow Many Calls?Problem descriptionThe fibonacci number is defined by the following recurrence: fib(0) = 0fib(1) = 1fib(n) = fib(n-1)+fib(n-2)But we're not interested in the fibonacci num bers here. Wewould like to know how many calls does it take to evaluate the n th fibonacci num ber if we follow the given recurrence. Since the num bers are going to be quite large, we'd like to m ake the job a bit easy for you. We'd only need the last digit of the num ber of calls, when this number is represented in base b.InputYou shoul d read input data from the file of “calls.in”.Input consists of several test cases. For each test you'd be given two integers n (0 <= n <= 2147483647), b (0 < b <= 10000). Input is terminated by a test case where n=0 and b=0, you must not process this test case.OutputOutput your result to the standard output device.For each test case, print the test case number first. Then print n, b and the last digit (in base b) of the number of calls. There would be a single space in between the two numbers of a line. Note that the last digit has to be represented in decimal number system.Sample Input0 1001 1002 1003 10010 100 0Sample OutputCase 1: 0 100 1Case 2: 1 100 1Case 3: 2 100 3Case 4: 3 100 5Case 5: 10 10 7。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中原工学院第一届大学生程序设计竞赛正式比赛试题主办:中原工学院教务处学生处校团委计算机学院承办:中原工学院计算机学院地点:计算机学院实验中心406实验室时间:2010年4月11日【试题一】兔子【题目描述】兔子具有很强的繁殖能力。
一对成年兔子每个月可以繁殖一对小兔子,而一对小兔子经过m个月之后,就会长成一对成年兔子。
通过分析,我们可以看出:若m=2的时候,每个月兔子的对数构成了一个Fibonacci数列。
但是,若m<>2,这个问题看起来就不那么简单了。
你的任务是计算:假定初始只有一对兔子,那么,经过d个月之后,共有多少对兔子?可以假定,在此阶段没有任何兔子死亡。
【输入】输入包括多组测试数据。
每组测试数据的一行中包括2个整数m(1<=m<=10),d(1<=d<=30)。
当测试数据遇到一行中有两个0时,即m=d=0,测试数据结束。
【输出】针对每组测试数据,在每一行输出经过d个月后共有多少对兔子。
【输入样例】2 33 50 0【输出样例】59【试题二】网页浏览器【题目描述】Mozilla Firefox是一个自由的,开放源码的网页浏览器,适用于Windows, Linux 和MacOS X等平台。
Firefox火狐校园大使是Mozilla开源社区项目的一部分,针对在校的高年级本科生和研究生以及众多技术爱好者,在校园中推广开源项目和开放技术,让更多的开发人员受益于Mozilla的开放技术和免费资源。
你很荣幸得到了这样一个机会,为Firefox编写一个重要的导航模块。
正如上图所示,导航模块要接受用户的后退、前进、进入用户输入的网址以及清空浏览记录等操作。
【输入】为了简化问题,用户所有的操作都以字符的形式从标准输入读入。
每一行描述一个操作,各操作的格式和功能如下所示:浏览器启动时默认进入中原工学院的主页” ”【输出】对于每一个需要输出网址的操作,输出对应的网址。
每个网址恰好占一行,不要有多余的字符(包括空格和换行)。
详细格式可以参考输入输出样例。
【输入样例】url /chinacampus/url http://127.0.0.1backbackbackforwardclearurl /forwardbackbackexit【输出样例】/chinacampus//chinacampus//chinacampus/【试题三】茶商【题目描述】一位茶叶商人从南方收购了n吨新茶,由于产地偏僻不通铁路,茶商准备先沿水路运到武汉,再发往全国各地销售。
码头上只有m条规格不同的小货船,每条船都不足以装载全部茶叶。
各船的最大载重量分别为w[i]吨,需f[i]费用(1<=i<=m)。
当然,由于茶商是老主顾,而且货船还可以搭载其他货物,因此船主比较客气,声称可以装一部分货物,按实际装多少货物计费(例如,只装了1/3载重,则费用也为1/3)。
请问,茶商应该选择哪些货船,使得费用最低?【输入】输入包括多组测试数据。
每组测试数据的第一行为2个非负整数n和m,其含义如题目描述所示。
接下来的m行,每行有两个非负整数w[i]和f[i],代表每条船的最大载重量和费用。
当测试数据遇到一行中有两个-1时,测试数据结束。
所有的整数不超过1000。
【输出】针对每组测试数据,在每一行输出一个唯一的整数,表示茶商所需要的最少运费(运算过程中可以采用浮点数,输出最终结果时取整)。
【输入样例】15 37 24 35 230 325 1824 1515 10-1 -1【输出样例】621【试题四】中原工学院网络系统【题目描述】虽然中原工学院的网络安全已经做得非常完善,但是天有不测风云,学校内部网络系统的一台服务器意外感染了一种新型病毒。
为了避免更大的损失,管理员必须采取紧急措施遏制病毒的蔓延。
中原工学院内部网络系统共有n台服务器,这n台服务器使用m条电缆互相连接。
为了描述方便,我们给服务器编号1到n。
初始时,1号服务器感染了病毒。
每隔一分钟,病毒便会从已感染病毒的服务器扩散到所有与之直接相连的服务器上。
中原工学院的网络系统设计得非常坚固,即使要切断电缆也非常困难。
管理员只能在初始时切断一根电缆。
为了让整个网络系统尽可能晚地全部被病毒感染,他应该切断哪根电缆?【输入】输入包含多组数据。
每组数据的第一行是两个整数n和m (2≤n≤200, 1≤m≤n*(n-1)/2),其含义如上面所描述。
接下来m行每行两个整数a, b (1≤a, b≤n),表示服务器a和服务器b有电缆直接连接。
任意两台服务器间至多有一根电缆相连。
输入数据以n=m=0结束。
【输出】对每组数据输出最晚多少分钟之后整个网络系统被感染。
如果切断某根电缆后病毒永远不会传播到某些服务器,那么输出”Great”。
【输入样例】4 51 22 33 44 11 34 41 22 33 41 30 0【输出样例】2Great【试题五】高速公路【题目描述】某国共有n个城市(n不超过200),有些城市之间直接有一条高速公路相连,高速公路都是双向的,总共有m条。
每条高速公路都有自己的载重限制,即载重最大值。
通过车辆的载重不能超过公路的载重限制。
如今我们想了解的是,从某一起点城市出发,到达目标城市,车辆最多能带多重的货物。
【输入】输入的第一行为两个整数n和m。
以下有m行,每行三个整数描述一条公路,分别是首尾相连的城市以及载重限制。
然后是一个整数k,即问题个数。
接下来k行描述k个问题,每行两个整数表示起点城市和目标城市。
问题数不超过100。
【输出】输出包括k行,每行对应一个问题,输出从起点到目标的最大载重量。
如果两城市间无路径则输出-1。
【输入样例】3 31 2 1002 3 1001 3 5021 32 3【输出样例】100100【试题六】大学校区【题目描述】当前,中原工学院共有四个校区:北校区(North)、南校区(South)、西校区(West)和东校区(信商新区)(East),每一个校区都有若干个建筑物,如公园、广场、科研院所、实验中心、礼堂等,每个建筑物之间都有一定的距离,因此,在平时的教学和生活中,教师和学生都会经常面临这样的问题:在同一个校区或不同校区之间,从一个地点到另一个地点往来的需要。
现在,他们需要找到从出发点S到目的地T的一条最短路径,以便节省时间,你能帮助他们吗?假设任两个建筑物之间至多存在一条直接相连的道路,并且都有具体的长度。
【输入】输入的第一行是一个正整数C,表示下面测试案例数目。
在每一种测试例中,第一行的正整数N(0<N≤100)表示道路的数目,其后的N行:第i行表示第i(1≤i≤N)条道路的起点S i和终点T i及其之间的距离D i(0≤D i≤100),第N+1行表示教师或学生的出发地S与目的地T,你必须帮找出他们从出发地S到目的地T之间的最短路径。
每个校区分别使用North、South、West和East,每一个建筑物名称用长度不超出100个小写字符(a-z)串表示。
【输出】输出应包括C行,每行对应一个测试例,输出从起点到目的地的最短距离。
如果两地点间无路径则输出-1。
系统没有多余的内存空间可利用。
【输入样例】12South.litang b 2b West.guangchang 100b South.litang【输出样例】2【试题七】Faulty Odometer【Description】You are given a car odometer which displays the miles traveled as an integer. The odometer has a defect, however: it proceeds from the digit 3 to the digit 5, always skipping over the digit 4. This defect shows up in all positions (the one's, the ten's, the hundred's, etc.). For example, if the odometer displays 15339 and the car travels one mile, odometer reading changes to 15350 (instead of 15340).【Input】Each line of input contains a positive integer in the range 1..999999 which represents an odometer reading. (Leading zeros will not appear in the input.) The end of input is indicated by a line containing a single 0. You may assume that no odometer reading will contain the digit 4.【Output】Each line of input will produce exactly one line of output, which will contain: the odometer reading from the input, a colon, one blank space, and the actual number of miles traveled by the car.【Sample Input】15250【Sample output】15: 13250: 198【试题八】Sorting AlgorithOne of the fundamental problem of computer science is ordering a list of items .there’re a plethora of solutions to this problem , known as sorting algorithms. Some sorting algorithms are simple and intuitive, such as bubble sort. Others, such as the heap sort are not so simple, but produce lightening-fast results.In the following is a list of some sorting algorithms. Of course, I can’t tell you how to implement them here. You must use your own knowledge.Bubble sortHeap sortInsertion sortMerge sortQuick sortSelection sortShell sort……My business here is to give you some numbers, and to sort them is your business. Attention, I want the smallest number at the top of the sorted list.【Input】The input will consist of series data sets. Each data set has two parts. The first part contains two non-negative integers, n(1≤n≤100,000)and m(1≤m≤n),representing the total of numbers you will get and interval of the output sorted list . The second part contains n positive integers. I am sure that each integer in this part will be less than 2,000,000,000.The input is terminated by a line with two zeros.【Output】For one data set, you should output several numbers in ONE line. After you get the sorted list, you should output the first number of each m numbers, and you should print exact ONE space between two adjacent numbers. And please make sure that there should NOT be any blank line between outputs of two adjacent data sets .【Sample Input】8 2357186420 0【Sample output】1 3 5 7。