1.7编程基础之字符串(30题)

更新时间:2023-12-09 02:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

01:统计数字字符个数

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一行字符,统计出其中数字字符的个数。

输入

一行字符串,总长度不超过255。

输出

输出为1行,输出字符串里面数字字符的个数。

样例输入 Peking University is set up at 1898. 样例输出 4 来源

习题(7-1) 医学部 2010 期末试题樊波

02:找第一个只出现一次的字符

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

输入

一个字符串,长度小于100000。

输出

输出第一个仅出现一次的字符,若没有则输出no。

样例输入 abcabd 样例输出 c

03:基因相关性

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。

现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。

输入

有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。

输出

若两条DNA序列相关,则输出“yes”,否则输出“no”。

样例输入 0.85 ATCGCCGTAAGTAACGGTTTTAAATAGGCC ATCGCCGGAAGTAACGGTCTTAAATAGGCC 样例输出 yes

04:石头剪子布

描述

石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。 游戏规则:石头打剪刀,布包石头,剪刀剪布。 现在,需要你写一个程序来判断石头剪子布游戏的结果。

输入

输入包括N+1行:

第一行是一个整数N,表示一共进行了N次游戏。1 <= N <= 100。

接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):

S1 S2

字符串之间以空格隔开S1,S2只可能取值在{\(大小写敏感)中。

输出

输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。

样例输入 3 Rock Scissors Paper Paper Rock Paper 样例输出 Player1 Tie Player2 提示

Rock是石头,Scissors是剪刀,Paper是布。

05:输出亲朋字符串

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

编写程序,求给定字符串s的亲朋字符串s1。

亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符;给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。

输入

输入一行,一个长度大于等于2,小于等于100的字符串。字符串中每个字符的ASCII值不大于63。

输出

输出一行,为变换后的亲朋字符串。输入保证变换后的字符串只有一行。

样例输入 1234 样例输出 cege

描述

小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。 在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。

经过研究,小英发现了如下加密规律(括号中是一个“原文 ->密文”的例子) 1. 原文中所有的字符都在字母表中被循环左移了三个位置(dec ->abz) 2. 逆序存储(abcd ->dcba)

3. 大小写反转(abXY ->ABxy)

输入

一个加密的字符串。(长度小于50且只包含大小写字母)

输出

输出解密后的字符串。

样例输入 GSOOWFASOq 样例输出 Trvdizrrvj 来源

医学部计算概论2011年期末考试(王志钢)改编

11:将字符串中的小写字母转换成大写字母

?

查看 ? ? ?

提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个字符串,将其中所有的小写字母转换成大写字母。

输入

输入一行,包含一个字符串(长度不超过100,可能包含空格)。

输出

输出转换后的字符串。

样例输入 helloworld123Ha 样例输出 HELLOWORLD123HA

12:大小写字母互换

?

查看 ? ? ?

提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母。

输入

输入一行:待互换的字符串。

输出

输出一行:完成互换的字符串(字符串长度小于80)。

样例输入 If so, you already have a Google Account. You can sign in on the right. 样例输出 iF SO, YOU ALREADY HAVE A gOOGLEaCCOUNT. yOU CAN SIGN IN ON THE RIGHT. 来源

计算概论05

13:整理药名

描述

医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、aspirin整理成Aspirin。

输入

第一行一个数字n,表示有n个药品名要整理,n不超过100。

接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。

输出

n行,每行一个单词,对应输入的药品名的规范写法。

样例输入 4 AspiRin cisapride 2-PENICILLIN Cefradine-6 样例输出 Aspirin Cisapride 2-penicillin Cefradine-6 来源

习题(7-8) 医学部 2010 期末试题臧家瑞

14:忽略大小写的字符串比较

描述

一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\\0'为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到'\\0'而另一个字符串还未遇到'\\0',则前者小于后者)。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如\和\在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入

输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于80)

输出

如果第一个字符串比第二个字符串小,输出一个字符\; 如果第一个字符串比第二个字符串大,输出一个字符\; 如果两个字符串相等,输出一个字符\。

样例输入 Hello, how are you? hello, How are you? 样例输出 = 来源

15:验证子串

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入两个字符串,验证其中一个串是否为另一个串的子串。

输入

输入两个字符串,每个字符串占一行,长度不超过200且不含空格。

输出

若第一个串s1是第二个串s2的子串,则输出(s1) is substring of (s2) 否则,若第二个串s2是第一个串s1的子串,输出(s2) is substring of (s1) 否则,输出 No substring。

样例输入 abc dddncabca 样例输出 abc is substring of dddncabca 来源

JerryCircle[Java 语言程序设计]

16:删除单词后缀

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个单词,如果该单词以er、ly或者ing后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为0),否则不进行任何操作。

输入

输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。

输出

输出按照题目要求处理后的单词。

样例输入 referer 样例输出 refer 来源

北京大学医学部计算概论08期末考试题

17:单词替换

描述

输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入

输入包括3行,

第1行是包含多个单词的字符串 s; 第2行是待替换的单词a(长度<= 100); 第3行是a将被替换的单词b(长度<= 100).

s, a, b 最前面和最后面都没有空格.

输出

输出只有 1 行,将s中所有单词a替换成b之后的字符串。

样例输入 You want someone to help you You I 样例输出 I want someone to help you 来源

医学部计算概论2006期末考试题

18:紧急措施

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。

输入

第一行为你的email地址,长度不超过50个字符且只包含字母、数字和?@?符号。 第二行为账号数N,N(0 < N < 10000)。 接下来N行,每行表示一个账号,格式为: 用户名密码 email

它们之间用单个空格分开。用户名、密码、email均不含空格,且长度不超过50个字符。

输出

有若干行,每行为你的一个账号,包括:你的账号,修改后的密码(之间用单个空格分隔)。

如果没有你的账号,则输出empty。

样例输入 样例输入1: abc@pku.edu.cn 5 helloKittyiLoveCats abc@pku.edu.cn 2012 maya2012 cplusplus@exam.com KittyCat 5iKitty abc@pku.edu.cn program password teacher@exam.com whoAmi Feb.29$ abc@pku.edu.cn 样例输入2: abc@pku.edu.cn 1 2012 maya2012 cplusplus@exam.com 样例输出 样例输出1: helloKittyIlOVEcATS KittyCat 5IkITTY whoAmi fEB.29$ 样例输出2: empty 来源

医学部计算概论2011年期末考试(谢佳亮)

19:过滤多余的空格

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。

输入

一行,一个字符串(长度不超过200),句子的头和尾都没有空格。

输出

过滤之后的句子。

样例输入 Hello world.This is c language. 样例输出 Hello world.This is c language.

20:单词的长度

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。

注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。

输入

一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。

输出

依次输出对应单词的长度,之间以逗号间隔。

样例输入 She was born in 1990-01-02 and from Beijing city. 样例输出 3,3,4,2,10,3,4,7,5 来源

习题(7-7) 元培-From WHF

21:最长最短单词

描述

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。 试输出第1个最长的单词和第1个最短单词。

输入

一行句子。

输出

两行输出:

第1行,第一个最长的单词。 第2行,第一个最短的单词。

样例输入 I am studying Programming language C in Peking University 样例输出 Programming I 提示

如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。

来源

习题(12-2)

22:字符串最大跨距

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。想检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的右边界点在S2的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。如果没有满足条件的S1,S2存在,则输出-1。

例如,S = \,其中,S1在S中出现了2次,S2也在S中出现了2次,最大跨距为:18。

输入

三个串:S1, S2, S3,其间以逗号间隔(注意,S1, S2, S3中均不含逗号和空格);

输出

S1和S2在S最大跨距;若在S中没有满足条件的S1和S2,则输出-1。

样例输入 abcd123ab888efghij45ef67kl,ab,ef 样例输出 18

23:单词翻转

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入

只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。

输出

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入 hello world 样例输出 ollehdlrow

24:单词倒排

? ? ? ?

查看 提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。

输入

输入为一个字符串(字符串长度至多为100)。

输出

输出为按要求排续后的字符串。

样例输入 I am a student 样例输出 student a am I

25:ISBN号码

描述

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。 识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2+??+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

输入

只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出

共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

样例输入 样例 #1: 0-670-82162-4 样例 #2: 0-670-82162-0 样例输出 样例 #1: Right 样例 #2: 0-670-82162-4 26:字符串p型编码

?

查看 ? ? ?

提交 统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串。例如:字符串122344111可被描述为\个1、2个2、1个3、2个4、3个1\,因此我们说122344111的p型编码串为1122132431;类似的道理,编码串101可以用来描述1111111111;00000000000可描述为\个0\,因此它的p型编码串即为110;100200300可描述为\个1、2个 0、1个2、2个0、1个3、2个0\,因此它的p型编码串为112012201320。

输入

输入仅一行,包含字符串str。每一行字符串最多包含1000个数字字符。

输出

输出该字符串对应的p型编码串。

样例输入 122344111 样例输出 1122132431

27:行程长度编码

? ?

查看 提交

? ?

统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

在数据压缩中,一个常用的途径是行程长度压缩。对于一个待压缩的字符串而言,我们可以依次记录每个字符及重复的次数。这种压缩,对于相邻数据重复较多的情况比较有效。例如,如果待压缩串为\,则压缩的结果是

(A,3)(B,4)(C,1)(B,2)。当然,如果相邻字符重复情况较少,则压缩效率就较低。 现要求根据输入的字符串,得到大小写不敏感压缩后的结果(即所有小写字母均视为相应的大写字母)。

输入

一个字符串,长度大于0,且不超过1000,全部由大写或小写字母组成。

输出

输出为一行,表示压缩结果,形式为:

(A,3)(B,4)(C,1)(B,2)

即每对括号内部分别为字符(都为大写)及重复出现的次数,不含任何空格。

样例输入 aAABBbBCCCaaaaa 样例输出 (A,3)(B,4)(C,3)(A,5)

28:判断字符串是否为回文

? ?

查看 提交

? ?

统计 提问

总时间限制:

1000ms

内存限制:

65536kB

描述

输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。

输入

输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。

输出

如果字符串是回文,输出yes;否则,输出no。

样例输入 abcdedcba 样例输出 yes

30:字符串的展开

? ? ?

查看 提交 统计

本文来源:https://www.bwwdw.com/article/i9y5.html

Top