华侨大学第二届程序设计大赛基础组试题.docx

上传人:b****5 文档编号:7265025 上传时间:2023-01-22 格式:DOCX 页数:10 大小:140.24KB
下载 相关 举报
华侨大学第二届程序设计大赛基础组试题.docx_第1页
第1页 / 共10页
华侨大学第二届程序设计大赛基础组试题.docx_第2页
第2页 / 共10页
华侨大学第二届程序设计大赛基础组试题.docx_第3页
第3页 / 共10页
华侨大学第二届程序设计大赛基础组试题.docx_第4页
第4页 / 共10页
华侨大学第二届程序设计大赛基础组试题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

华侨大学第二届程序设计大赛基础组试题.docx

《华侨大学第二届程序设计大赛基础组试题.docx》由会员分享,可在线阅读,更多相关《华侨大学第二届程序设计大赛基础组试题.docx(10页珍藏版)》请在冰豆网上搜索。

华侨大学第二届程序设计大赛基础组试题.docx

华侨大学第二届程序设计大赛基础组试题

华侨大学第二届程序设计大赛基础组比赛题目

1.基础组采取笔试方式,共8题。

参赛者每题编写的程序如果不完全正确也可得到对应部分的分数,最终按总分进行排名。

2.比赛可以使用C或C++、C#、Java中的任意一种语言。

3.比赛期间禁止使用手机通话或发送短信,禁止查看他人试卷或在厕所与他人讨论,违反者将被取消本次和今后两年的华侨大学程序设计大赛的比赛资格。

4.如果对比赛题目有问题要问,可以随时举手向监考老师示意以便进行回答。

5.某些题目需要从文件输入数据,或者使用键盘输入数据和在屏幕上输出数据,C++的示例代码如下:

intmain(){

inti,j;

strings,t;

fstreamfile1;

file1.open("test.txt",fstream:

:

in);//打开文件

while(!

file1.eof()){//判断是否到达文件末尾

file1>>i;//从文件输入一个整数

cout<

file1>>s;//从文件输入一个字符串

cout<

}

file1.close();//关闭文件

cin>>j;//从键盘输入一个整数

cout<

cin>>t;//从键盘输入一个字符串

cout<

return0;

}

C#的示例代码如下:

staticvoidMain(string[]args)

{

StreamReadersr=newStreamReader("test.txt");//打开文件

stringline=sr.ReadLine();//从文件读入一行数据

char[]c={''};//设定本行拆分的分隔符为空格

string[]array=line.Split(c);//将输入的一行按空格的位置拆分为两行

strings=array[0];//获得字符串

inti=int.Parse(array[1]);//字符串转换为整数

Console.WriteLine(s);//在屏幕上输出一个字符串加一个回车

Console.WriteLine(i);//在屏幕上输出一个整数加一个回车

sr.Close();//关闭文件

stringstr=Console.ReadLine();//从键盘输入一个字符串

Console.WriteLine(str);//在屏幕上输出一个字符串加一个回车

}

Java的示例代码如下:

publicstaticvoidmain(Stringargs[])

{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

//从键盘输入数据

Strings=in.readLine();//从键盘输入一个字符串

System.out.println(s);//在屏幕上输出一个字符串加一个回车

inti=Integer.parseInt(in.readLine());//从键盘输入一个整数

System.out.println(i);//在屏幕上输出一个整数加一个回车

BufferedReaderinFile=newBufferedReader(newFileReader(“test.txt”));

//打开文件

Stringline=inFile.readLine();//从文件读入一行数据

StringTokenizertokenizer=newStringTokenizer(line,"");

//设定本行拆分的分隔符为空格

Stringstr=tokenizer.nextToken();//获得字符串

intj=Integer.parseInt(tokenizer.nextToken());//字符串转换为整数

System.out.println(str);//在屏幕上输出一个字符串加一个回车

System.out.println(j);//在屏幕上输出一个整数加一个回车

inFile.close();//关闭文件

}

第一题:

国际象棋的棋盘

国际象棋的棋盘如下图,有8行8列,一共64个格子。

古代有一位聪明的大臣,他发明了国际象棋,献给了国王,国王从此迷上了下棋。

为了对大臣表示感谢,国王答应满足这个大臣一个要求。

大臣说:

“就在这个棋盘上放一些米粒吧,第1格放1粒米,第2格放2粒米,第3格放4粒米,然后就是8粒米,16粒米,每一格的米粒数目为前一格的两倍,直到第64格。

”“你就要这么一点米?

”国王哈哈大笑,大臣说:

“就怕你的国库里没有这么多的米!

”国王真的没有这么多吗?

现在就请你写一个程序,为国王计算需要的米粒数目吧!

程序输入:

棋盘的格子数目。

程序输出:

填满棋盘需要的米粒数目。

第二题:

休斯顿火箭队的球员薪金支出

NBA中不同球员的薪金各不相同。

本赛季中火箭队的核心麦迪以2324万美元高居该排行榜的首位,排第二名的是科比,薪金为2303万美元。

普通球员则薪金低很多。

为了为了防止NBA里面出现足球比赛中的曼联、皇马、拜仁之类的豪门,使得比赛更为势均力敌,NBA实施了薪金封顶的制度,为所有球队规定了一个征收奢侈税的起征点,球队的球员薪金总额超过这个数字之后,在球员工资中每多花一美元,就要交纳一美元的奢侈税。

例如:

2009-2010赛季NBA的奢侈税起征点为6992万美元,如果球队的球员薪金总额为7000万美元,则最终在缴纳奢侈税后,球队的支出为7008万美元。

目前休斯顿火箭队的负责人希望在赛季前能够算出本赛季的总支出,包括所有的球员薪金和奢侈税。

你能帮他写个程序计算吗?

输入文件格式为:

第一行是NBA征收奢侈税的起征点(单位是万美元)和火箭队队员的数目,中间用空格隔开。

之后每行是火箭队队员的名字和薪金(单位也是万美元),中间用空格隔开。

例如:

69923

McGrady2324

YaoMing1638

Battier686

程序输入:

要求用户用键盘输入当前文件夹下的输入文件名。

程序输出:

休斯顿火箭队的薪金和奢侈税的总支出。

第三题:

2012年的诺亚方舟

电影《2012》年中,2012年12月21日巨大的灾难出现,强烈的地震、巨大的火山爆发让眼前熟悉的家园变成了人间炼狱,幸存的人们纷纷涌向诺亚方舟。

本题中,中国互联网的精英们也来到了这里,遗憾的是诺亚方舟给中国互联网精英的名额只有十个,谁能登上诺亚方舟呢?

最终大家决定根据各自公司产品的用户数目排序,最高的十个人可以登上诺亚方舟。

你的任务就是编写一个程序,找出这十个人。

输入文件格式为:

第一行是目前候选的人数,之后每行是一个人的姓名、公司名字和产品用户数目,姓名、公司名字和用户数目用空格隔开。

每行的用户数目都不同。

例如:

12

李开复创新工场91

马云阿里巴巴97

马化腾腾讯98

李彦宏XX100

丁磊网易94

张朝阳搜狐93

陈天桥盛大92

刘建国爱帮网40

求伯君金山99

周鸿祎奇虎网30

陈一舟千橡96

邹胜龙迅雷95

这个输入文件的运行结果应该是:

李开复,马云,马化腾,李彦宏,丁磊,张朝阳,陈天桥,求伯君,陈一舟,邹胜龙

程序输入:

要求用户用键盘输入当前文件夹下面的输入文件名。

程序输出:

在屏幕上显示选出的产品用户数目最多的十个人的名单,排列顺序任选。

第四题:

世界杯足球赛死亡之组

参加世界杯足球赛决赛阶段的32支球队已经全部产生,如下:

决赛阶段将采取分组赛的方式,即32支球队分成8个小组进行比赛。

抽签的时候分成四个档次,每个档次都是8支球队,每个组从4个档次各抽出一支球队。

本届比赛第一档次的球队都是强队,而第二档次包含了八支欧洲球队,其中葡萄牙队和荷兰队是明显的强队。

第三档次和第四档次的划分还没有确定,但是其中一定也分别包含一定数目的强队。

如果一个小组的四支球队都是强队,则被称为“死亡之组”,上届世界杯就出现了阿根廷、荷兰、塞黑和科特迪瓦这样的“死亡之组”。

你的任务是写一个程序来为球迷们计算“死亡之组”在本届世界杯足球赛中出现的概率。

程序输入:

用户通过键盘输入第三档次的强队数目和第四档次的强队数目。

程序输出:

在屏幕上显示出现死亡之组的概率。

第五题:

城市之间的飞行距离

飞机机票搜索是携程网等国内外各大旅游网站的一个重要业务。

本题中的输入文件给定了世界上主要城市之间的飞机航线长度,所有航线均为双向。

现在用户希望看到世界上每两个城市之间的最短飞行距离,允许转机并且次数不限。

输入文件格式:

第一行是城市的数目和航线的总数。

之后每行是两个城市的名字和航线的长度,彼此用空格隔开。

例如:

64

BeijingLondon10

LondonParis20

WashingtonNewYork2

WashingtonLosAngeles8

输出格式:

只输出能够到达的城市之间飞行距离,相互无法到达的不用输出。

每行是两个城市的名字和最短飞行距离。

上面输入文件的输出应该是(里面的排列顺序任选):

BeijingLondon10

LondonParis20

BeijingParis30

WashingtonNewYork2

WashingtonLosAngeles8

NewYorkLosAngeles10

程序输入:

用户用键盘输入当前文件夹下的输入文件名。

程序输出:

屏幕上显示世界上每两个城市之间的最短飞行距离。

第六题:

奥巴马面对的缩写难题

奥巴马顺利的成为美国的总统,刚一上任他就遇到了一个难题,人们经常和他说各种缩写,例如UN,全文是UnitedUnion(联合国)。

有时候一个缩写可能对应意思完全不同的多个含义,例如MJ可能是音乐巨星MichaelJackson,也可能是篮球之神MichaelJordan,还可能是中国网民常说的“马甲”。

奥巴马对此非常头痛,他希望你帮他写一个程序来查询每个缩写对应的所有全文。

你的程序输入文件的第一行应该是你的程序收录的所有条目的总数,之后每一行包括一个缩写和对应的全文,之间用空格隔开。

文件中每个缩写的全文中没有空格。

例如:

3

UNUnitedUnion

MJMichaelJackson

MJMichaelJordan

之后程序需要让奥巴马能够一直查询各种缩写的全文,直到他在下班时输入”exit”才退出。

程序输入:

用户用键盘输入当前文件夹下的输入文件名之后,在屏幕上显示对应的提示让用户输入要查询的缩写,例如“MJ”。

程序输出:

用户用键盘输入一个缩写(例如MJ)之后,程序在屏幕上显示缩写对应的所有全文,中间用逗号隔开,例如:

MichaelJackson,MichaelJordan

之后反复循环,直到用户输入”exit”之后才退出整个程序。

第七题:

谷歌的输入提示模拟

谷歌的搜索有非常强大的输入提示,例如:

现在你的任务是用一个程序模拟这个输入提示,当用户输入一个词语的时候输出目前系统词库里面所有以这个词语开头的词。

输入文件格式:

第一行是词语总数,之后每行一个词语,例如:

5

移山之道

编程之美

算法导论

算法艺术与信息学竞赛

算法大全

数据结构严蔚敏版

当用户输入“算法”的时候系统应显示出所有以“算法”开头的词汇,一行一个。

之后用户再输入其他词汇,反复循环直到当用户输入“退出”的时候退出整个程序。

程序输入:

用户用键盘输入当前文件夹下的输入文件名之后,在屏幕上显示对应的提示让用户输入词语,例如“算法”。

程序输出:

用户用键盘输入一个词语(例如算法)之后,程序在屏幕上显示所有以“算法”开头的词汇,一行一个。

之后反复循环,直到用户输入”退出”之后才退出整个程序。

第八题:

魔方达人

魔方的形状如下图,有六个面,每个面有9个格子。

有一个魔方达人,他可以对任意两个给定的魔方,判断它们是不是在翻转某个魔方后能变成同一个形态。

这里只允许翻转整个魔方,而不是单单旋转某个面)。

你能用程序来做同样的事情吗?

输入文件包含两个魔方的数据。

每个魔方输入有6行数字,每行9个数字,不同的数字代表不同的颜色。

每行依次表示魔方的前面、后面、上面、下面、左面、右面。

行中顺序具体见上图中每个面上面的数字,即第一个数字表示图中1所在的格子,第二个数字表示图中2所在的格子,直到第9个数字。

例如:

333441134

551411426

553522662

441651465

216662642

233235531

465651441

662522553

333441134

551411426

622164266

351333225

程序输入:

用户用键盘输入当前文件夹下的输入文件名。

程序输出:

如果两个魔方在翻转后完全相同则输出"相同",否则输出"不同"。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1