程序设计大赛限时赛题目9
专业组程序设计技能竞赛
欢迎参加石家庄铁道大学2010年大学生程序设计大赛的专业技能竞赛。为了能够更好地享受竞赛的乐趣,请注意以下事项:
注意事项
1.竞赛时间3小时,共8道题。
2.遵守竞赛的规则。请不要携带任何书籍资料、计算器和计算器可读的媒体(如磁盘)进场。竞赛结束后,请遵从竞赛工作人员的指示离场。
3.你可以按照自己喜欢的顺序解题,不必遵守题目实际出现的顺序。你也可以按照自己喜欢的风格编写程序。在竞赛中不需要提交任何纸质文档。
4.请严格按照题目要求命名函数,如第1 题判断回文的函数要求为:void f1(参数);要求每题一个文件,文件的命名要求同函数名命名要求,如第1题的文件命名为“f1.h”;另外每个文件头部添加代码:#define NO “组号:组员学号序列”如第40 组的文件中所对应的代码为:#define NO “40:20062037、20062060、20062065”。要求所有题目的文件放在一个目录中,目录名按照组号命名,如第40 组的文件夹命名为:40。
5.在竞赛期间,每隔一定时间请自行将源程序存盘备份,避免机器故障带来麻烦。 6.如果你发现机器有问题或对竞赛有任何疑问,请立即联系竞赛工作人员。 7.竞赛评委的决定是最终的。
8. 题目中所要求的“输出”请以屏幕显示的形式实现。
1 / 6
竞赛题目
1、判断回文(10 分)
【问题描述】
回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文,试编写函数判断读入的一个长度小于255的字符串是否为回文? (palindrome:回文) 【函数形式】 void f1(参数)
功能:长度小于255的字符串为输入参数,输出判断结果。 【函数输出格式】
The string ? is/is not palindrome. 【举例】 输入:good
输出:The string “good” is not palindrome.
2、奇偶分开(10分)
【问题描述】
设有一个正整数序列,设计函数,将所有奇数放在序列前半部分,将所有偶数放在序列后半部分。 【函数形式】 void f2(参数)
功能:输入一个正整数序列。输出奇偶分开后的整数序列。 【函数输出格式】 ? 【举例】
输入:10 2 5 9 8 4 7 输出:5 9 7 10 2 8 4
3、报数(15分)
【问题描述】
有M个人围成一圈,顺序排号,从第一个人开始顺序报数(从1到N),凡报到N的退出圈子。退出者的下一个人又从1开始报数,直到圈子里只剩下最后一个人。请编写一个函数找出最后一个留在圈子里的人原来的序号。
~~~~~~~~~~~~~~~~~~第2页~~~~~~共6页~~~~~~~~~~~~~~~~~~
程序设计大赛限时赛题目9
【函数形式】 void f3(int m,int n)
功能:输入2个整数,它们用空格隔开,第一个整数表示开始的人数M(1<=M<=200),第二个整数表示报数的最大数N(1<=N<=30000)。输出一个整数,表示最后一个留在圈子里的人原来的序号。 【函数输出格式】 The final one is No ?. 【举例】 输入:5 2
输出:The final one is No 3.
4、时针与分针的夹角(15分)
【问题描述】
我们常见的手表指针都有时针和分针,在任意时刻时针和分针都成一定夹角,现已知当前的时刻,试求出当前时针和分针的夹角(该夹角小于等于180 度)。 【函数形式】 void f4(参数)
功能:输入时刻值(00:00—24:00, XX:XX格式)。输出该时刻时针与分针的夹角,精确到小数点后三位。 【函数输出格式】 The angle is ?. 【举例】 输入:09:00
输出:The angle is 90.000 .
5、最长子串(20分)
【问题描述】
给定2个字符串,找出它们共同的最长的子串。 【函数形式】 void f5(参数)
功能:输入2行,每行为一个字符串(回车结束),每个字符串的长度均小于255。输出只有一行,即:共同的最长子串。若有多个不同的最长子串(即长度相同),输出任意一个。 【函数输出格式】 ?
3 / 6