河南大学计算机与信息工程学院2010C#程序设计大赛试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#程序设计大赛试题
1. 字符串处理问题(10分)
问题描述:从键盘接收一个字符串(不多于80个字符),将其中的数字字符按原顺序组成一个新字符串,将其中的英文字母都用大写按原顺序组成另一个新字符串,然后再输出这两个新字符串,每个一行。如果原字符串中没有数字字符或没有英文字母,则输出"There are not digits."或"There are not letters." 。当接收的字符串为”**”时程序结束。
样例输入:
a@B1C3D$5ef&gh
样例输出:
135
ABCDEFGH
样例输入:
abcd%eG#h
样例输出:
There are not digits
ABCDEGH
2.矩阵转换问题(15分)
问题描述:行与列的个数均为n 的矩阵称为n 阶方阵。假定矩阵中的每个元素的值在0到9之间,则可以将矩阵中的所有元素按行依次排列得到一个“单行矩阵字符串”。例如,3*3的3阶方阵
4 3 5
2 4 5
0 1 9
可以描述为"435245019"。
你的任务是从键盘接收“单行矩阵字符串”并将其以矩阵样式输出,若判断行数与列的个数不一样,即非n阶方阵,则输出“Error”
样例输入:
435245019
样例输出:
4 3 5
2 4 5
0 1 9
样例输入:
9
样例输出:
9
样例输入:
0123456789
样例输出:
Error
3.数字图形问题(15分)
问题描述:从键盘接收一个自然数N(1≤N≤9),当输入的自然数N不属于此范围时退出程序。对于N(1≤N≤9),在屏幕上输出如下图形,并且保证N在图形中只出现一次,且在图形的中心。
当N=1时:当N=3时:当N=4时:
1111111111111
122211222221
123211233321
122211234321
111111233321
1222221
1111111
4.数字排列问题(20分)
问题描述:对于给定的正整数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。
输入:第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n 个正整数,是1,2 …n的一个排列。
输出:对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。
样例输入:
2
3 1
2 3 1
3 1
3 2 1
样例输出:
3 1 2
1 2 3
5.水果计数问题(20分)
问题描述:水果店老板认为,只要两种水果的名字中有一个字相同就属于同样的类别。例如“小雪梨”和“大雪梨”是同一种水果,而“核桃”和“水蜜桃”也被认为是同一种水果。尤其要指出的是,如果有三种水果x, y, z同时出现,且x和y是同一种水果,y和z也是同一种水果的时候,x和z在此时也被认为是同一种水果
(即使x和z并不包含相同的字)。现在老板想知道,今天共有多少种水果?
输入:若干组包含水果信息的字符串数据,每组数据以回车换行结束。字符串中,以空格分割每一种水果。如果仅输入回车,表示输入结束。
输出:输出水果种类个数。
样例输入:
雪梨柠檬西瓜苹果花生水蜜桃
样例输出:
6
样例输入:
雪梨柠檬大梨雪莲果
样例输出:
2
样例输入:
冬枣沙枣沙糖橘橘子
样例输出:
1
6.文档编辑器程序设计(20分)
问题描述:使用C#创建一个Windows应用程序,实现一个类似记事本的文档编辑器。
功能要求:
(1)要求程序主界面中包含菜单、工具栏、状态栏、右键快捷菜单。每次进行操作时都能在状态栏显示提示信息。
(2)要求实现文本文件(*.txt)的新建、保存、打开、另存为等基本功能。(3)实现对文本文件内容的编辑功能,包括剪切、复制、粘贴、全选、重做、撤销、查找、替换等功能。
(4)实现对文本文件的内容更改字体、更改颜色等功能。
(5)实现文本文件内容的自动换行、设置文本的对齐方式等功能。