一、实操题
1、1.数组逆序重放将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。时间限制:1000内存限制:65536输入输入为两行:第一行数组中元素的个数n(1输出输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。样例输入```58 6 5 4 1```样例输出```1 4 5 6 8```
正确答案:
略
2、2.最长最短单词输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。时间限制:10000内存限制:65536输入一行句子。输出两行输出: 第1行,第一个最长的单词。 第2行,第一个最短的单词。样例输入```I am studying Programming language C in Peking University```样例输出```ProgrammingI```提示如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
正确答案:
略
3、3.计算鞍点给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。```11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25```时间限制:1000内存限制:65536输入输入包含一个5行5列的矩阵输出如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"样例输入```11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25```样例输出```4 1 8```
正确答案:
略
4、4.病人排队病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:\1. 老年人(年龄 >= 60岁)比非老年人优先看病。\2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。\3. 非老年人按登记的先后顺序看病。时间限制:1000内存限制:65536输入第1行,输入一个小于100的正整数,表示病人的个数; 后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。输出按排好的看病顺序输出病人的ID,每行一个。样例输入```5021075 40004003 15010158 67021033 75102012 30```样例输出```021033010158021075004003102012```
正确答案:
略
5、5.循环数若一个n位的数字串满足下述条件,则称其是循环数(cyclic):将这个数字串视为整数(可能带有前导0),并用任意一个 1 到 n 之间(包含1和n)的整数去乘它时, 会得到一个将原数字串首尾相接后,再在某处断开而得到的新数字串所对应的整数。例如,数字 142857 是循环数,因为: 142857 *1 = 142857 142857 *2 = 285714 142857 *3 = 428571 142857 *4 = 571428 142857 *5 = 714285 142857 *6 = 857142。请写一个程序判断给定的数是否是循环数。注意:在此题中,输入数字串允许带前导0,且前导0不能被忽略,例如“01”是两位数字串,而“1”是一位数字串。但将数字串转化为整数做乘法运算或比较运算时,可以忽略前导0。时间限制:10000内存限制:65536输入一行,一个长度在 2 到 60 位之间的数字串。输出一个整数,若输入的数字串是循环数,输出1,否则输出0。样例输入```142857```样例输出```1```
正确答案:
略
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!