搜档网
当前位置:搜档网 › 大学生程序的设计竞赛试题正式赛

大学生程序的设计竞赛试题正式赛

大学生程序的设计竞赛试题正式赛
大学生程序的设计竞赛试题正式赛

中原工学院第一届大学生程序设计竞赛

正式比赛试题

主办:中原工学院教务处学生处校团委计算机学院

承办:中原工学院计算机学院

地点:计算机学院实验中心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 3

3 5

0 0

【输出样例】

5

9

【试题二】

网页浏览器

【题目描述】

Mozilla Firefox是一个自由的,开放源码的网页浏览器,适用于Windows, Linux 和MacOS X等平台。Firefox火狐校园大使是Mozilla开源社区项目的一部分,针对在校的高年级本科生和研究生以及众多技术爱好者,在校园中推广开源项目和开放技术,让更多的开发人员受益于Mozilla的开放技术和免费资源。你很荣幸得到了这样一个机会,为Firefox编写一个重要的导航模块。

正如上图所示,导航模块要接受用户的后退、前进、进入用户输入的网址以及清空浏览记录等操作。

【输入】

为了简化问题,用户所有的操作都以字符的形式从标准输入读入。每一行描述一个操作,各操作的格式和功能如下所示:

浏览器启动时默认进入中原工学院的主页” https://www.sodocs.net/doc/6b3306241.html,”

【输出】

对于每一个需要输出网址的操作,输出对应的网址。每个网址恰好占一行,不要有多余的字符(包括空格和换行)。详细格式可以参考输入输出样例。

【输入样例】

url https://www.sodocs.net/doc/6b3306241.html,/chinacampus/

url http://127.0.0.1

back

back

back

forward

clear

url https://www.sodocs.net/doc/6b3306241.html,/

forward

back

back

exit

【输出样例】

https://www.sodocs.net/doc/6b3306241.html,/chinacampus/

https://www.sodocs.net/doc/6b3306241.html,

https://www.sodocs.net/doc/6b3306241.html,/chinacampus/

https://www.sodocs.net/doc/6b3306241.html,/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 3

7 2

4 3

5 2

30 3

25 18

24 15

15 10

-1 -1

【输出样例】

6

21

【试题四】

中原工学院网络系统

【题目描述】

虽然中原工学院的网络安全已经做得非常完善,但是天有不测风云,学校内部网络系统的一台服务器意外感染了一种新型病毒。为了避免更大的损失,管理员必须采取紧急措施遏制病毒的蔓延。中原工学院内部网络系统共有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 5

1 2

2 3

3 4

4 1

1 3

4 4

1 2

2 3

3 4

1 3

0 0

【输出样例】

2

Great

【试题五】

高速公路

【题目描述】

某国共有n个城市(n不超过200),有些城市之间直接有一条高速公路相连,高速公路都是双向的,总共有m条。每条高速公路都有自己的载重限制,即载重最大值。通过车辆的载重不能超过公路的载重限制。如今我们想了解的是,从某一起点城市出发,到达目标城市,车辆最多能带多重的货物。

【输入】

输入的第一行为两个整数n和m。以下有m行,每行三个整数描述一条公路,分别是首尾相连的城市以及载重限制。然后是一个整数k,即问题个数。接下来k行描述k个问题,每行两个整数表示起点城市和目标城市。问题数不超过100。

【输出】

输出包括k行,每行对应一个问题,输出从起点到目标的最大载重量。如果两城市间无路径则输出-1。

【输入样例】

3 3

1 2 100

2 3 100

1 3 50

2

1 3

2 3

【输出样例】

100

100

【试题六】

大学校区

【题目描述】

当前,中原工学院共有四个校区:北校区(North)、南校区(South)、西校区(West)和东校区(信商新区)(East),每一个校区都有若干个建筑物,如公园、广场、科研院所、实验中心、礼堂等,每个建筑物之间都有一定的距离,因此,在平时的教学和生活中,教师和学生都会经常面临这样的问题:在同一个校区或不同校区之间,从一个地点到另一个地点往来的需要。现在,他们需要找到从出发点S到目的地T的一条最短路径,以便节省时间,你能帮助他们吗?假设任两个建筑物之间至多存在一条直接相连的道路,并且都有具体的长度。

【输入】

输入的第一行是一个正整数C,表示下面测试案例数目。在每一种测试例中,第一行的正整数N(0

【输出】

输出应包括C行,每行对应一个测试例,输出从起点到目的地的最短距离。如果两地点间无路径则输出-1。系统没有多余的内存空间可利用。

【输入样例】

1

2

South.litang https://www.sodocs.net/doc/6b3306241.html,b 2

https://www.sodocs.net/doc/6b3306241.html,b West.guangchang 100

https://www.sodocs.net/doc/6b3306241.html,b 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】

15

250

【Sample output】

15: 13

250: 198

【试题八】

Sorting Algorith

One 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 sort

Heap sort

Insertion sort

Merge sort

Quick sort

Selection sort

Shell 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 2

3

5

7

1

8

6

4

2

0 0

【Sample output】

1 3 5 7

C语言程序设计竞赛题及其答案

数学与统计学院 第三届计算机程序设计竞赛题 竞赛需知: 1、答案必须写在答题纸上。 2、程序采用C/JAVA/VB/VFP语言实现均可。 3、考虑到各种因素,程序的键盘输入和结果输出可以用伪代码或者自然语言表示。但是必 须说明输入变量和输出变量。 4、题目最好能用完整、正确的语言程序来解决问题,如确实无法编写完整语言程序的,可 以写出程序主要框架和流程,必要时可以用伪代码或者自然语言描述算法(程序)。 一、玫瑰花数(20分) 如果一个四位数等于它的每一位数的4次方之和,则称为玫瑰花数。例如: + + 1634+ =, 4^4 4^3 4^6 4^1 编程输出所有的玫瑰花数。 #include void main() { int i,j,k,l,m; for(i=999;i<=9999;i++) { j=i/1000; k=i%10; l=i/100-10*j; m=i/10-100*j-10*l; if(i==j*j*j*j+k*k*k*k+l*l*l*l+m*m*m*m) printf("%d\n",i); } } 二、菱形图案(20分) 对给定的奇数n,编程打印菱形图案。 输入样例: 7 输出样例: * *** ***** ******* ***** *** * #include #include void main() {

int i,j,k; int n; scanf("%d",&n); for(i=0;i #include void main() { int i,j,x,y; float r; int a,b,count=0; printf("请输入矩阵的行列i,j:"); scanf("%d%d",&i,&j); printf("请输入圆心的坐标点及半径x,y,r:"); scanf("%d%d%f",&x,&y,&r); for(a=0;a

程序设计比赛试题

程序设计比赛试题 最少钱币数: 【问题描述】 这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。 【要求】 【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M (1<=M<=2000,整数),接着的一行中,第一个整数K(1<=K<=10)表示币种个数,随后是K个互不相同的钱币面值Ki(1<=Ki<=1000)。输入M=0时结束。 【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。 【样例输入】 15 6 2 5 10 20 50 100 1 1 2 【样例输出】 2 Impossible

Feli的生日礼物 【问题描述】 Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,“Kitty猫”玩具已经卖出了n!个,n<=10^100*_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。 【要求】 【数据输入】每行一个n,直到输入数据结束 【数据输出】对应输入的n,每行输出一个答案 【样例输入】 1101 【样例输出】 8

程序设计竞赛试题和题解

程序设计竞赛试题和题解 付浩fuch@https://www.sodocs.net/doc/6b3306241.html, Contents 完全平方数 (2) 拉丁方阵 (3) 取石子游戏 (5) 乡村医院 (7) 未知星球 (9) 无聊的游戏 (10) 最短路径 (12)

完全平方数 描述 一个非负整数n是完全平方数当且仅当存在非负整数m,使得n=m2 据说完全平方数具有某种神奇的力量,谁知道呢。 聪明的你一定想到了,这道题的任务就是编写一个程序,判断给定的n是否是完全平方数。 输入格式 输入包含多组数据。 每组数据占一行,包含一个非负整数n,n不超过109 输入以n=-1结束 输出格式 对每组输入数据输出一行,如果n是完全平方数则输出”Yes”,否则输出”No” 输入样例 1 2 3 4 -1 输出样例 Yes Yes No No Yes 解答 一般的语言都有开平方运算吧?

拉丁方阵 描述 拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在 一行和一列中恰好出现一次。著名数学家和物理学家欧拉使用拉丁字母来作为拉丁方阵里元素的 符号,拉丁方阵因此而得名。例如下图是一个3×3的拉丁方阵: 如果一个拉丁方阵的第一行和第一列按照元素的先后顺序来排列,那么这称为拉丁方阵的标准型,例如下图就是一个3x3的拉丁方阵标准型,第一行和第一列都是”1 2 3”。 你的任务是,编写一个程序读入一个方阵,判断其是否为拉丁方阵;进一步地,判断是否为标准型。 输入格式 输入包含多组数据。 每组数据第一行为正整数n,表示方阵的大小。 其后n行,每行有n个1到n之间的整数,整数之间恰有一个空格,表示方阵的内容。 输入保证1≤n≤100 输入以n=0结束,不要处理这个数据。 输出格式 每组数据对应于一行输出。如果输入是拉丁方阵,但不是标准型则输出1;如果输入是标准型则 输出2;如果输入不是拉丁方阵则输出0 输入样例 2 1 1

第六届程序设计比赛题目与答案

一、鸡兔同笼 问题描述 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物 输入数据 第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (a < 32768)。 输出要求 n行,每行输出对应一个输入。输出是两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用空格分开。如果没有满足要求的情况出现,则输出2个0。 输入样例 2 3 20 输出样例 0 0 5 10 解题思路 这个问题可以描述成任给一个整数N,如果N是奇数,输出0 0,否则如果N是4的倍数,输出N / 4 N / 2,如果N不是4的倍数,输出N/4+1 N/2。这是一个一般的计算题,只要实现相应的判断和输出代码就可以了。题目中说明了输入整数在一个比较小的范围内,所以只需要考虑整数运算就可以了。 参考程序 1.#include 2.void main( ) 3.{ 4.int nCases, i, nFeet; //nCases 表示输入测试数据的组数,nFeet表示输入的脚数。 5.scanf("%d", &nCases); 6.for(i = 0; i < nCases; i++){ 7.scanf("%d", &nFeet); 8.if(nFeet %2 != 0) // 如果有奇数只脚,则输入不正确, 9.// 因为不论2只还是4只,都是偶数 10.printf("0 0\n"); 11.else if (nFeet%4 != 0) //若要动物数目最少,使动物尽量有4只脚 12.//若要动物数目最多,使动物尽量有2只脚 13.printf("%d %d\n", nFeet / 4 + 1, nFeet / 2); 14.else printf("%d %d\n", nFeet / 4, nFeet / 2); 15.} 16.}

首届全国中医药院校大学生程序设计竞赛试题

Problem A: 序列的混乱程度 Time limit:1s Memory limit:128MB Description 有一个长度为n的正整数序列,一个序列的混乱程度定义为这个序列的最大值和最小值之差。请编写一个程序,计算一个序列的混乱程度。 Input 输入的第一行为一个正整数T(T<=1000),表示一共有T组测试数据。 每组测试数据的第一行为一个正整数n(1<=n<=1000),代表这个序列的长度。第二行为n 个正整数,代表这个序列。序列中元素的大小不会超过1000。 Output 对于每个测试数据,输出一行包含一个正整数,代表对应序列的混乱程度。 Sample Input 2 5 1 2 3 4 5 5 1 9 2 4 8 Sample Output 4 8

Problem B: 随机数 Time limit:1s Memory limit:128MB Description 有一个rand(n)的函数,它的作用是产生一个在[0,n)的随机整数。现在有另外一个函数,它的代码如下: int random(int n,int m) { return rand(n)+m; } 显而易见的是函数random(n,m)可以产生任意范围的随机数。现在问题来了,如果我想要产生范围在[a,b)内的一个随机数,那么对应的n,m分别为多少? Input 输入的第一行为一个正整数T(T<=1000),表示一共有T组测试数据。 对于每组测试数据包含两个整数a,b(a<=b)。 Output 对于每组测试数据,输出一行包含两个整数n和m,两个整数中间有一个空格分隔。 Sample Input 2 0 5 1 4 Sample Output 5 0 3 1

宁波市28届程序设计比赛试题

2013年宁波市第28届中小学生计算机程序设计竞赛 初中组初赛试题 (说明:答案请写在答题卷上。考试时间120分钟,满分100分) 一、选择题(每题有且仅有一个正确答案,选对得1.5分,选错,不选或多选均不得分) 1.很多新款笔记本和电视机上都有HDMI接口,请问这个接口的作用是: A 仅传输视频信号B仅传输音频信号 C 同时传输视频和音频信号 D 稳压电源输入 2. 在Pascal中,表达式2 OR 1 SHL 2 AND 10的值是: A 15 B 8 C 12 D 2 3. 在32位操作系统中,Boolean型数组[1..10000,1..10000]需要的内存空间约为: A 381M B B 12MB C 191MB D 95MB 4. 下列关于32位操作系统和64位操作系统的说法中错误的是: A 32位操作系统是针对32位的CPU设计的 B 64位操作系统是针对64位的CPU设计的 C 64位操作系统理论上能支持的内存大小可根据寻址空间计算而得 D 32位操作系统支持的内存大小不可能超过4G 5. 下面关于二叉堆的复杂度说法中正确的是: A 插入为O(logn),删除为O(logn) B 插入为O(n),删除为O(n) C插入为O(n),删除为O(logn) D插入为O(logn),删除为O(n) 6.算式112-1116的结果是: A 010 B 016 C 1410 D -1410 7. 下列关于邻接表和邻接矩阵的说法中错误的是: A 两者都可以实现图的存储 B 两者可相互转换 C 在一般情况下,邻接表在处理稀疏图时有明显优势 D 邻接矩阵的实现远比邻接表复杂 8. 下列程序中不属于IDE(集成开发环境)的是: A Free Pascal B Lazarus C Dev-C++ D C++ 9. IPv4中一个IP地址长度为32位,新一代协议IPv6中一个IP地址的长度为: A 64位 B 128位 C 256位 D 32位 10. 小明家里电脑可以正常使用QQ,但是无法浏览网站,其原因可能是: A 电脑断网了 B 电脑DNS服务出现故障 C CPU短路 D显示器异常 11.ASCII码表总共有字符128个,请问存放8个ASCII码需要的内存空间是: A 7字节 B 8字节 C 7位 D 8位 12. 字符串"ababacbab"和字符串"abcba"的最长公共子串是: A abcba B cba C abc D ab

2019年大学生程序设计大赛策划书

2019年大学生程序设计大赛策划书 一、活动名主题 “华为”杯程序设计大赛 二、举办单位 策划主办单位:华为技术有限公司 协办单位:(排名不分先后)华中科技大学、武汉大学、武汉理工大学 三、活动时间 20xx年x月x日-x月xx日 四、参赛资格 ●本次大赛面向武汉三所目标高校在校全日制本科及以上学历学生(毕业时间在20xx年x月xx日之后)。 ●初赛以个人为单位,性别、专业不限;预计800人;

●在华为官方的网站注册报名,报名成功后获得参赛资格,只有在报名期间进行网上注册后才能参与比赛。 五、竞赛流程 第一阶段:报名参赛(5月10日—5月24日) l参赛选手阅读参赛注意事项,确认协议内容,在华为官方的 网站上注册简历,获得参赛资格的选手以个人身份参赛。 第二阶段:初赛(6月1日8:00—6月1日12:00) l网吧集中测试(集中招聘机试流程) 1.5月30日18:00前,通过邮件、短信和电话的形式通知通过简历筛选的学生初赛场地、机试场次、时间、所需证件及注意事项; 2.1日当天,学生凭身份证刷卡签到,并获取自己的登录账号 与密码。

3.学生按安排的批次进行入座考试,机试全程为30分钟,逾时将视为不及格。全程考试属封闭式测试,不得翻阅网页及手机,完全独立完成整个测试过程。一旦发现翻阅行为,一律视为作弊,将会被取消参赛资格。 4.考试成绩按照答案正确率与用时两个维度进行评价,在追求准确的同时对学生们的编程效率也作出了要求。 第三阶段:软件训练营(6月2日9:00—6月2日16:00) l1日晚将通过邮件、短信与电话的形式,邀请通过初赛的18 位学生参加为期6个小时的软件训练营-敏捷开发的训练课程,本课程主要是针对学生编程思维进行的引导式更新,课程内容比较灵活多变,动手环节较多,较有吸引力。 l中午学生将统一在华为A2食堂进行就餐。 l完成培训的学生将会收到华为武研所办法的“敏捷技能拥有者”的荣誉证书和决赛工具包(题目+小贴士+输出文件)。 l培训后,同学将会自主组成6个三人组进行接下来的决赛。每两个三人组将会由一位导师(业务部门提供的业务骨干)进行指导,

小学生程序设计复赛练习题

小学生程序设计比赛练习题 1.幸运数字 (luck.pas/c/cpp) 【问题描述】 今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字,表示对小明的祝福。可是小明有自己的想法,对小明来说,4或者7的倍数是幸运数字。 现在,小明想要知道所有数字中幸运数字之和是多少?请你帮帮小明! Sheryl gōngchéng zài quánguó de Brada ruǎnjiàn gōngsī. Tā de gōngzuò shì kāifā Windows cāozuò xìtǒng. Zài Brada bǎoshǒu de ràng rén nányǐ zhìxìn. Tāmen shènzhì cónglái méiyǒu shǐyòng de túxíng xiǎnshìqì! Yīncǐ,Sheryl de cāozuò xìtǒng yùnxíng zài wénběn móshì hé zài yóu zìfú zǔchéng de xìtǒng chuāngkǒu. Sheryl juédìng, měi gè chuāngkǒu dōu yǒu yīgè ID, zhè shì yīgè zīběn yīngwén zìmǔ ('yī'dào'Z'). Yóuyú měi gè chuāngkǒu yǒu yīgè wéi yī de ID, bùnéng yǒu chāoguò 26 gè chuāngkǒu zài tóngyī shíjiān. Rú nǐ suǒ zhī, suǒyǒu de Windows shì chángfāngxíng. Zài zhè zhǒng chǒulòu de Windows xìtǒng de píngmù, chuāngkǒu de kuàngjiàyǐ jīběn xíngchéng yóu tā de ID xìn. Tú 1 xiǎnshì, zhǐyǒu píngmù shàng de yīgè chuāngkǒu, gāi chuāngkǒu de ID shì'A'. Windows kěnéng huì chóngdié. Tú- 2 xiǎnshì chuāngkǒu de qíngkuàng B duì chuāngkǒu a. Hé tú- 3 de dǐng bù shì tígōng le gèng fùzá de chóngdié. Dāngrán, rúguǒ yīgè chuāngkǒu de mǒu xiē bùfèn shì yóu qítā chuāngkǒu zhē zhù, nǐ bùnéng zài píngmù shàng kàn dào de bùfèn. 字典- 查看字典详细内容 【输入】 第一行一个整数n,表示小明收到了n份圣诞礼物。 第二行包含n个整数,第i个数a[i]表示第i份礼物上的数字。 【输出】 输出小明心目中的幸运数字之和。 【样例解释】 小明的幸运数字必须是4或者7的倍数,这里符合条件的有:12+14+16=42 【数据范围】 40%的数据,n<=100, 0

程序设计大赛试题及答案

试题 1、数学黑洞(程序文件名maths.c/maths.cpp) 【问题描述】 任给一个4位正整数,其各位数位上的数字不全相同,将数字重新组合成一个最大的数与最小的数相减,重复这个过程,最多7步,必得6174。对任给的4位正整数(各位数位上的数字不全相同),编程输出掉进黑洞的步数。 【输入】 一行,一个4位正整数n(1000< n<9999) 【输出】 掉进黑洞的步数 输入 1234 输出 3 2、进制转换(程序文件名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 输出 377 3、分数线划定(程序文件名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)。数据保证选手的报名号各不相同。 【输出】 第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。 从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。 【输入输出样例】 输入 6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88

第1届C#程序设计竞赛试题

C#程序设计大赛试题 1 英文单词求复数问题(10分) 题目描述:请编写一个程序,可以将英语规则名词(不考虑不满足以下规则的英语单词)由单数变成复数。已知规则如下: a)以辅音字母y结尾,则将y改成i,再加es; b)以s,x,ch,sh结尾,则加es; c)以元音o结尾,则加es; d)其他情况直接加s。 要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。 样例输入: box 样例输出: Boxes static voi d Mai n(string[] args) { string str = Console.ReadLine(); int i=0; string[] arr = { "s", "x", "ch", "sh", "o" }; if (str.EndsWith("s")||str.EndsWith("x")||str.EndsWith("ch")||str.EndsWith("sh")||str.EndsWi th("o")) { str+="es"; } else if (str.EndsWith("y")) { str.Remove(str.Length - 1); str += "ise"; } else { str += 's'; } Console.WriteLine(str); ; } 2. 逆数对问题(20分) 题目描述:设A[1…..n]是一个包含n个不同数的数组,如果在iA[j],则(i,j)就称为A中的一个逆序对。 请编写程序,根据用户输入的正整数n(n>=2)和n个不同的数,求出数组A[n]的逆序对个数。其中,第一行输入数组包含的元素个数n,第二行输入n个不同的数(以逗号分隔)。

安徽省大学生程序设计大赛

安徽省大学生程序设计大赛 竞 赛 方 案 全国大学生信息安全竞赛安徽省赛区组委会安徽省大学生程序设计大赛技术委员会

一.竞赛章程 ●竞赛宗旨 为培养安徽省高校大学生的创新意识和创新能力,提高大学生应用计算机分析和解决实际问题的能力,安徽省教育厅主办了安徽省大学生程序设计大赛,赛事旨在为广大学生的一个展示和提高解题与编程能力的机会,开展计算机编程方面的公平竞赛。 ●竞赛设置 安徽省大学生程序设计大赛计划开展本科组、高职组两个级别竞赛。参赛以学校为单位,组委会为每个单位提供3支队(含)以内参赛名额,参赛单位3支队(不含)以上参赛名额由参赛单位向组委会提出申请,报名截止后组委会根据报名情况统一裁定。组委会根据参赛情况适量接受少量友情参赛队,队名附“*”以示区别,不参加评奖。 安徽省大学生程序设计大赛由大赛技术委员会负责命题、评判,采用统一命题,本科组、高职高专组分组设奖方式进行,奖项设置以各组别参赛队伍为基数,按参赛队成绩排序,分别设置一等奖(不超过基数10%)、二等奖(不超过基数20%)、三等奖(不超过基数30%)和优胜奖。 ●参赛队伍组成 比赛以队为参赛基础,队的组成包括教练1~2名(必须是参赛学校的教师),以及不超过3名参赛队员。每个参赛学校可以派多支代表队,每个参赛学校可有一名领队(可选),至少一名教练(必需,可兼任同一学校多支队伍教练)以及若干参赛队员组成。 教练是参赛队伍所代表学校的正式教师,教练必须保证所有队员符合本规则的规定。教练作为参赛队伍的代表,负责赛区预赛活动中的联系工作。 参赛队伍必须向竞赛组织委员会提交领队、教练和队员的身份合格证明材料,经竞赛组织委员会审查通过后,一支队伍才能获得参赛资格。 领队、教练和队员的身份合格证明材料:由各高校教务部门一次性出具所在

程序设计比赛小学组试题2014

2014年青岛市程序设计竞赛试题(小学组) (比赛时间90分钟,试题满分400分,内存限制128M,时间限制:1s) 说明:1、必须以题目中规定的文件名进行保存,并在技术人员帮助下传到指定文件夹中。 2. 使用竞赛规定的文件格式输入、输出。 (1)对于使用Pascal语言的选手,请参照以下格式使用文件输入输出: begin assign(input,'输入文件名'); assign(output,'输出文件名'); reset(input);rewrite(output); ....... close(input);close(output); end. (2)对于C或C++选手,如果尚未掌握文件输入输出,请参考以下我们提供的一种方法进行文件输入输出。在主函数即main()的开始部分加入以下代码: freopen("输入文件名","r",stdin); freopen("输出文件名","w",stdout); 程序结束时无须像Pascal选手一样,关闭文件,系统将自动关闭读写的文件。 对于C选手,请调用头文件stdio.h 对于C++选手,请调用头文件iostream 1.整数处理(zhengshu.pas/c/cpp) 【问题描述】电脑老师让小明编程做一道题:输入一个正整数A,如果A的个位数字是5,则统计A 能被5整除多少次?否则,统计A当中含有多少个“0”?你能做吗? 【输入】 一行: 一个正整数A。

【输出】 一行: 一个整数,小明所要求的数。 【输入输出样例1】 【输入输出样例2】 【数据范围限制】 对于100%的数据,满足A<=100000000。 2. 乘车费用(cost.pas/c/cpp) 【问题描述】星期天上午小明乘出租车去本市的外婆家。出租车计价方案为:2公里以内起步价是6元,超过2公里之后按1.8元/公里计价,超过10公里之后在1.8元/公里的基础上加价50%,另外,停车等候则按时间计费:1元/3分钟(注:不满3分钟不计费)。已知:小明到外婆家路程为N公里,中间停车等候时间总共M分钟,请计算小明到外婆家的出租车费用是多少元? 【输入】 一行:用空格隔开的两个正整数N 和M。 【输出】 一行:一个实数(表示车费,小数点后保留1位)。 【输入输出样例】 【数据范围限制】

C语言程序设计大赛题目

C语言程序设计大赛题 目 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1.角谷猜想 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。 *问题分析与算法设计 本题是一个沿未获得一般证明的猜想,但屡试不爽,可以用程序验证。 题目中给出的处理过程很清楚,算法不需特殊设计,可按照题目的叙述直接进行证。 *程序说明与注释 #include<> intmain() { intn,count=0; printf("Pleaseenternumber:"); scanf("%d",&n);/*输入任一整数*/ do{ if(n%2) { n=n*3+1;/*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2;/*若为偶数n除以2*/ printf("[%d]:%d/2=%d\n",++count,2*n,n); } }while(n!=1);/*n不等于1则继续以上过程*/

}

2.四方定理 数论中着名的“四方定理”讲的是:所有自然数至多只要用四个数的平方和就可以表示。 请编程证此定理。 *问题分析与算法设计 本题是一个定理,我们不去证明它而是编程序验证。 对四个变量采用试探的方法进行计算,满足要求时输出计算结果。 #include<> #include<> intmain() { intnumber,i,j,k,l; printf("Pleaseenteranumber="); scanf("%d",&number);/*输入整数*/ for(i=1;i intmain() { inta,b,c,d; printf("Pleaseenteranumber:"); scanf("%d",&a);/*输入整数*/

大学生计算机编程大赛活动策划书

大学生计算机编程大赛活动策划书 为推进学院素养教育,提高大学生的科学素质,拓展我院学生的综合素养,丰富大学生的校园文化日子,营造浓郁的学术、科技氛围,进一步培养学生的创新意识、创新精神和创新能力。软件协会开展以勤奋学习,创新实践为主题的大学生计算机编程大赛。要紧内容如下: 一、大赛宗旨 旨在培养和激励高校学生的制造力、团队合作精神以及在软件开辟过程中的创新能力。并且此次大赛将视为对明年的省高校杯的一次演练,提高广阔学生开展计算机软件设计的兴趣和能力,,给广阔在计算机程序设计方面有特长的同学提供展示才干的舞台。经过参赛,检验学生在压力下进行开辟的能力,展示其创新能力,为加强校内同学间的交流和相互学习提供机会。 二、参赛对象参赛者均为广东科贸职业学院信息工程系在校学生。 三、参赛形式和报名办法 1.本次比赛采取团队报名的形式 2、参赛团队填写报名表(报名电子表发送到信工系各班团支书)。 3、由各班团支书负责统一收集参赛团队报名表,并在规定的报名时刻内将本班参赛者报名表交到负责人处,逾期别收。 其他详细信息可留意软件协会官方博客: 四、竞赛方式及要求1、本次比赛的内容是依照拟定项目或者依照现实需要自行设计一具项目参与本次大赛项目评比。 2、竞赛时刻为三个星期,参赛团队须在规定时刻内完成。 3、竞赛期间选手能够翻阅相关的工具书。 4、参赛者应尊重自己的劳动成果,严禁将自己的作品拿给他人抄袭,严禁抄袭他人的作品。(违反此条例者,将追究其相关责任) 5、竞赛期间别局限于参赛者使用何种技术体系,别局限于使用何种开辟工具及操作系统。 项目评比参考: •项目的稳定性、项目的有用性 •项目使用的技术框架及开辟平台 •项目代码编写的标准及是否强壮 结果评定:竞赛排名依照项目评比的成绩的总和得出。 五、活动时刻安排 3、项目评比:12月下旬 (注:以上时刻和地方安排可依照实际事情另行更改) 六、奖项设置一等奖(1名):500元、荣誉证书 二等奖(1名):300元、荣誉证书 优胜奖(若干):大赛精美纪念品注:本次比赛奖项设置为证书和物质奖励 1、本次比赛安排如有变动,另行通知。 2、本次大赛未尽事项的解释权归属广东科贸职业学院软件协会。

C语言程序设计竞赛模拟试题

1、编写程序,从键盘上连续输入若干字符,直到回车换行符结束。统计并输出所输入的空 格、大写字母、小写字母,以及其他字符(不含回车换行符)的个数。 #include "stdio.h" main() { char ch=' '; int i=0, j=0, k=0, m= ?1; do { if (ch>='a' && ch<='z') i++; else if (ch>='A' && ch<='Z') j++; else if (ch == ' ') m++; else k++; }while((ch=getchar())!='\n'); printf ("small letter = %d, capital letter = %d\n", i, j); printf ("space = %d, other = %d\n", m, k); } 2、编写程序,求100~999之间所有的水仙花数。所谓“水仙花数”,即是一个三位数,它 个位、十位、百位数字的立方和,恰好等于该数本身。 #include "stdio.h" main() { int i, j = 1; int nf, ns, nt; for (i =100; i<=999; i++) { nf = i%10; ns = i/10%10; nt = i/100; nf = nf * nf * nf; ns = ns * ns * ns; nt = nt * nt * nt; if ((nf + ns + nt) == i) { printf ("The %d's number is %d\n", j, i); j++; } } 3、编写程序,求1-1/2+2/3-3/4+4/5-5/6+6/7….-99/100=?

程序设计竞赛选择题8

信息学奥林匹克竞赛辅导资料 选择题专项练习8 1."存储程序"的核心概念是()。 A.事先编好程序 B.把程序存储在计算机内存中 C.事后编写程序 D.将程序从存储位置自动取出并逐条执行 2. 硬盘工作时,应避免()。 A、强烈震动 B、噪声 C、光线直射 D、环境卫生不好 3.下列叙述中,错误的一条是() A.微型计算机应避免置于强磁场中 B.微型计算机使用时间不宜过长,而应隔几个小时关机一次 C.微型计算机应避免频繁关开,以延长其使用寿命 D.计算机应经常使用,不宜长期闲置不用 4.文件型病毒传染的对象主要是()类文件。 A、.DOC B、.PRG C、.DBF D、 .COM和.EXE 5.计算机的性能主要取决于()。 A、磁盘容量、显示器的分辨率和打印机的配置 B、字长、运算速度和内存容量 C、所配备的语言、所配备的操作系统和所配备的外部设备 D、机器的价格、所配备的操作系统、光盘驱动器的速度 6.一张CD-ROM盘片一般可以存储的容量是()。 A、640KB B、640MB C、1024KB D、512KB 7.操作系统是()的接口。 A、主机和外设 B、用户和计算机 C、系统软件和应用软件 D、高级语言和机器语言 8. 计算机主存储器的主要用途是()。 A、存储指令和数字 B、存储程序指令和地址 C、存储数据和程序 D、存储号码和地址 9. 在Word 2003中,复制命令是指()。 A、把所选的文字和图形复制到剪贴板上 B、把剪贴板中的内容复制到插入点 C、在插入点复制所选的文字和图形 D、把块中的内容复制到插入点 10. 在Word 2003中,文档中每一页都要出现的基本相同的内容都应放在()中。 A、页眉页脚 B、文本 C、文本框 D、表格 11. 在Excel中,若要把工作簿保存在磁盘上,可按()键。 A、Ctrl+C B、Ctrl+E C、Ctrl+S D、Esc 12. 在电子邮件中所包含的信息()。 A、只能是文字 B、可以是文字与图形图像信息 C、可以是文字与声音信息 D、可以是文字、声音和图形图像信息 13. 数据通信中的信道传输速率单位是bps,它表示()。 A、字节/秒 B、二进制位/秒 C、M/秒 D、字节/秒 14. FTP是一个()协议,它可以用来下载和传送计算机中的文件。 A、文件传输 B、网站传输 C、文件压缩 D、文件解压

第十四届云飞杯Scratch编程比赛试卷

长兴县第十四届云飞杯SCRATCH作品比赛试卷 制作时间:三小时考号:机号: 一、试题 (一)基础部分(30分,1-2题10分,3-4题20分) 1. 小猫踩球,要求小猫和球都能随光标键移动,球要会转。 2. 按空格键,猫说跳,狗就跳一下。 3. 做一本电子相册,要求可以前后翻,翻页的过程中有特效。。 4.编程计算的值。 (二)创作部分(80分。第5题与第6题二选一,30分。第7题与第八题二选一,40分。)如果时间有余的选手可以完成其它主题,酌情加分。 5. 展示类 聪明的猫:根据题意完成作品。 如图背景所示,老鼠在坐标(-200,-100),猫在坐标(200,-150)位置。点绿旗后,小猫必须先跑到河边喝水,停止2秒钟。然后去抓老鼠,要求在这过程中猫能跑出最短路程的线路,并画出小猫抓老鼠的路线。吃掉老鼠后,老鼠消失,猫变大,并发出叫声。 6. 画画类 点绿旗能一笔画出下图,最大正方形的边长200像素。 200 7.计算类 一场球赛开始前,售票工作正在紧张的进行中.每张球票为50元,现有10个人排队等待购票,其中有些人手持50元的钞票,另外一些人手持100元的钞票.假设开始售票时售票处没有零钱,,请编程实现判断该队伍是否会出现找不出钱的情况?(说明:如果这10个人手持的币值是(50,50,100,50,100,50,100,100,50,100),则能找出钱;如果手持的币值是(50,50,100,50,100,100,100,50,50,50),则不能找出钱。) 要求:(1)队伍中手持的50元还是100元,由电脑随机产生,并逐一写入链表中。 (2)电脑能自动判断队伍是否会出现找不出钱的情况。 (3)如果能找出钱电脑说:“运气不错,能找出钱”,否则另外说一句话。 8. 互动类 编游戏:石头,剪子,布。 游戏说明: 根据提供的素材做一个人机对战“石头,剪子,布”的传统游戏。(即石头碰剪子,石

首届程序设计大赛题目及答案

首届程序设计大赛题目及答案 程序设计大赛题目 1. 硬币兑换:用一元人民币兑换一分、二分和五分的硬币,编程求出所有兑换方法,并打印每种情况下各面值硬币需几枚?(10分) 2. 旅馆里有一百个房间,从1到100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间“相反处理”,第三个服务员把所有编号是3的倍数的房间作“相反处理”,……,以后每个服务员都是如此。问第100个服务员来过后,哪几扇门是打开的。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。) (15分) 3. 整型数组,长度为10,输入数组各元后,求数组各元的平均值,并找出最接近平均值的那个元素。打印输出上述两个结果,用逗号隔开,不要有其它字符。(20分) 4. 编程求两个很长的整数之和,比如两个20位十进制整数。(很长的整数指无法用long型存储的数)(25分) 例如: 12345678900987654321+12345678900987654321=24691357801975308642 5.编写布雷程序。(30分) 在一个10*10的方格中,随机分布10个地雷,并在其它没有地雷的格中显示该方格周围相邻的方格中共有几枚地雷。 样例输出:(图中-1的位置表示地雷,其它值表示该位置相邻的八个格子中的地雷数) 答案: 第一题: #include using namespace std; int main() { int i,j,k; for(i=1;i<=20;i++) for(j=1;j<=50;j++) {

k=100-5*i-2*j; if(k>0) cout<<"五分硬币"< using namespace std; int main() { int i,j; //i为服务员编号,j为房间编号 int a[101]; for(int t=1;t<101;t++) a[t]=1; for(i=2;i<101;i++) for(j=i;j<101;j++) if(j%i==0) a[j]*=-1; cout<<"打开的房间为:"; for(i=1;i<101;i++) if(a==1) cout< #include using namespace std; int main() { int a[10],i,sum=0,n=0; float ave,ca; for(i=0;i<10;i++) { cin>>a; sum+=a; } ave=sum/10.0; cout<<"数组平均值为:"<

2016年“京胜杯”安徽省大学生程序设计大赛

2016年?京胜杯?安徽省大学生程序设计大赛 比 赛 题 目 全国大学生信息安全竞赛安徽省赛区组委会安徽省大学生程序设计大赛技术委员会 2016年5月24日合肥

目录 A.砝码称重 B. 阵前第一功 C. 箭无虚发 D. 梯田AGAIN E. 转啊转 F. 吃在工大 G. 木条染色 H. 单身晚会 I. 恶魔A+B J. YZK的大别墅K. 纸上谈兵

A. 砝码称重 Time Limit: 1000 MS Memory Limit: 65536 KB 题目描述: 小明非常喜爱物理,有一天,他对物理实验室中常用的弹簧拉力计产生了兴趣。实验室中有两种质量不同的砝码,小明分别用a个第一种砝码放在弹簧拉力计上和b个第二种砝码放在弹簧拉力计上,假设每增加单位重量的砝码,弹簧拉力计的长度增加1,那么两次称量弹簧拉力计的长度差是多少呢?(假设拉力计不发生非弹性形变) 输入格式: 第一行一个整数T,表示有T组数据。 之后T行,每行数据包含四个正整数,分别表示第一种砝码重量a,第一种砝码数量b,第二种砝码重量c,第二种砝码数量d。 T<25 0

B. 阵前第一功 Time Limit: 1000 MS Memory Limit: 65536 KB 题目描述: A国每个国民都有一定战斗力,每年国家都要对人民的战斗力进行一次排序统计,他们的排序规矩是相同战斗力的排名一样,而且只占一个排序名额。比如,有5个人:100,100,90,90,70. 两个100的并列第一,称为第一战斗力,两个90的并列第二,称为第二战斗力,依次类推……现在你想查询第K战斗力是多少 输入描述: 先输入一个整数T,表示T(T<50)组数据。 每组第一行一个正整数N(1000>N>0),表示表示有N个人。接下里一行N 个正整数ai(2^30>=ai>=0),表示每个人的战斗力。 接下输入一个正整数K(N>=K>0)。(保证输入都合法) 输出描述: 输出第K战斗力,输出占一行 输入样例: 2 5 100 90 90 100 70 2 10 1 2 3 3 3 400 3 4 3 1 4 输出样例: 90 2 注解:这是一道简单题,用简单的排序算法就可以。

相关主题