程序设计大赛试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)