程序设计大赛试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“指院杯”第五届程序设计大赛题目

(2011年6月12日)

注意事项:1、考试时间为上午9:30-11:30,下午12:30-15:30。

2、考试编程环境为VC6.0。

3、考试结束后将所有的源代码、程序、相关文档打包,文件名为参赛编号,

并上传到指定服务器。确认后方可离开。

1、0的个数

源程序名zero.c(zero.cpp)

输入文件名 zero_in.txt

输出文件名 zero_out.txt

问题描述

编写程序,计算n! (n<=100000)的尾部0的个数。

输入文件(zero_in.txt)

包含一个整数n。

输出文件(zero_out.txt)

输出n!尾部0的个数。

样例

输入(exp_in.txt)

26

输出(exp_out.txt)

6

2、洗牌加密法

源程序名poker.c(poker.cpp)

输入文件名 poker _in.txt

输出文件名 poker_out.txt

问题描述

有一种根据扑克牌的洗牌原理设计的简单加密方法。加密过程如下,将输入字符串,前后等分成两部分。如果有奇数个字符,则后半部分多一个字符。然后将前后两部分交叉,即从后半部分字符串取第一个字符,然后从前半部分取第一个字符,直到所有字符都取完。这个过程重复n次。

例如:对于输入字符串(注:此处"号不是输入内容):

“shaken not stirred”

分成两半分别为

“shaken no”

“t stirred”

交叉后得到:“ts hsatkiernr endo”

再次处理后得到:“etrsn rh seantdkoi“

现在要求根据密文和处理次数(相当于密钥)计算出明文。

输入文件(poker_in.txt)

输入文件包含两行:前一行为密文内容,以.号结尾(.号不是密文内容),密文内容中不包含.号,后一行为密钥,即加密时重复的次数。

输出文件(poker_out.txt)

输出数据仅有一行,即对密文,输出一行明文(以.结尾)。

样例

输入(poker_in.txt)

etrsn rh seantdkoi.

2

输出(poker_out.txt)

shaken not stirred.

3、猜数字

源程序名guess.c(hand.cpp)

输入文件名 guess_in.txt

输出文件名 guess_out.txt

问题描述

猜数字是一个非常流行的电脑游戏,电脑选择四个不重复的数字,你要根据电脑的提示尽快猜出这个数字。

它的游戏规则如下:玩家首先输入四位不同的数字(0~9),电脑会根据玩家的输入和事先确定的数字进行匹配,并给出提示,提示的形式是“#A#B”,其中“#”是0~4的数字,“#A”表示猜中了数字及其位置的数目,“#B”表示仅猜中数字的数目。例如,电脑选择的是“1234”,而玩家猜的数字是“6139”,那么电脑给出的提示是“1A2B”,因为数字“3”及猜中了数字,也猜对了位置,而数字“1”只猜中了数字,所以电脑给出的提示就是“1A2B”。

如果你在猜测一次数字之后仔细记录并观察电脑的提示,可以计算出电脑所给出的实际的数字。

输入文件(guess_in.txt)

包含了多个测试序列,每个序列的第一行是一个单独的正整数N,它表示猜测的次数,接下来的N 行表示N次猜想的记录。

它的形式为:#### #A#B

其中前面四个数字是猜想的数字,后面是电脑对猜想的提示。输入的N为0或者为负数则表明输入结束,并且无须处理,而且每个测试序列都提供了足够的信息,可以让你猜出该数字。

输出文件(guess_out.txt)

输出:对于每个测试序列,输出一行,给出电脑选定的数字,要求数字和位置都正确。

样例

输入(guess_in.txt)

5

8760 0A2B

7845 0A2B

0418 0A1B

4976 1A2B

3987 0A2B

输出(guess_out.txt)

5079

4、HTML解析程序

源程序名html.c(html.cpp)

输入文件名 html_in.txt

输出文件名 html_out.txt

问题描述

HTML是Web页面的基本格式,由HTML标签构成,标签的语法格式为:

<标签名属性=值属性=值属性=值>标签内容

其中<标签名…>是标签的开始,是标签的结束,开始和结束的标签名必须一致,结束的标签名之前有/符号,例如:

这是一个标题

这是一个段落

这是加粗字体

标签中可以包含一个或多个属性,格式为属性=值,属性之间以空格分割,例如:

标签可以嵌套,也就是说标签的内容可以是一个或多个另外的标签,例如:

第1行第1列第1行第2列
第2行第1列第2行第2列

最终的完整的HTML结构就是由这些嵌套的标签构成,忽略多余的回车和空格(多个空格只算一个)

现请编写HTML解析程序,要求如下:

将给定的HTML文件中内容的解析成树结构,其中每一个标签为树的一个结点,其子标签以该结点的子结点表示,形成完整的由解析出来的以标签为结点构成的树,输出此树的按层遍历序列(树的每个结点以标签名表示)。

输入文件(html_in.txt)

相关文档
最新文档