17编程基础之字符串30题Word下载.docx
《17编程基础之字符串30题Word下载.docx》由会员分享,可在线阅读,更多相关《17编程基础之字符串30题Word下载.docx(32页珍藏版)》请在冰点文库上搜索。
ATCGCCGGAAGTAACGGTCTTAAATAGGCC
yes
04:
石头剪子布
石头剪子布,是一种猜拳游戏。
起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。
简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。
游戏规则:
石头打剪刀,布包石头,剪刀剪布。
现在,需要你写一个程序来判断石头剪子布游戏的结果。
输入包括N+1行:
第一行是一个整数N,表示一共进行了N次游戏。
1<
=N<
=100。
接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布):
S1S2
字符串之间以空格隔开S1,S2只可能取值在{"
Rock"
"
Scissors"
Paper"
}(大小写敏感)中。
输出包括N行,每一行对应一个胜利者(Player1或者Player2),或者游戏出现平局,则输出Tie。
3
RockScissors
PaperPaper
RockPaper
Player1
Tie
Player2
提示
Rock是石头,Scissors是剪刀,Paper是布。
05:
输出亲朋字符串
编写程序,求给定字符串s的亲朋字符串s1。
亲朋字符串s1定义如下:
给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符;
给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;
依此类推,直到给定字符串s的倒数第二个字符。
亲朋字符串的最后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。
输入一行,一个长度大于等于2,小于等于100的字符串。
字符串中每个字符的ASCII值不大于63。
输出一行,为变换后的亲朋字符串。
输入保证变换后的字符串只有一行。
1234
cege
06:
合法C标识符
给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:
题目保证这些字符串一定不是C语言的保留字)。
C语言标识符要求:
1.非保留字;
2.只包含字母、数字及下划线(“_”)。
3.不以数字开头。
一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。
一行,如果它是C语言的合法标识符,则输出yes,否则输出no。
RKPEGX9R;
TWyYcp
no
大学计算概论06心理及信管期末考试
07:
配对碱基链
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。
而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。
我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。
你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。
一个字符串,表示一条碱基链。
这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。
字符串长度不超过255。
一个只含有大写字母A、T、G、C的字符串,为与输入的碱基链互补的碱基链。
ATATGGATGGTGTTTGGCTCTG
TATACCTACCACAAACCGAGAC
08:
密码翻译
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。
我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。
输入一行,包含一个字符串,长度小于80个字符。
输出每行字符串的加密字符串。
Hello!
Howareyou!
Ifmmp!
Ipxbsfzpv!
计算概论05
09:
潜伏者
R国和S国正陷入战火之中,双方都互派间谍,潜入对方部,伺机行动。
历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则:
1、
S国军方部欲发送的原信息经过加密后在网络上发送,原信息的容与加密后所的容均由大写字母‘A’—‘Z’构成(无空格等其他字母)。
2、
S国对于每个字母规定了对应的“密字”。
加密的过程就是将原信息中的所有字母替换为其对应的“密字”。
3、
每个字母只对应一个唯一的“密字”,不同的字母对应不同的“密字”。
“密字”可以和原字母相同。
例如,若规定‘A’的密字为‘A’,‘B’的密字为‘C’(其他字母及密字略),则原信息“ABA”被加密为“ACA”。
现在,小C通过线掌握了S国网络上发送的一条加密信息及其对应的原信息。
小C希望能通过这条信息,破译S国的军用密码。
小C的破译过程是这样的:
扫描原信息,对于原信息中的字母x(代表任一大写字母),找到其在加密信息中的对应大写字母y,并认为在密码里y是x的密字。
如此进行下去直到停止于如下的某个状态:
所有信息扫描完毕,‘A’—‘Z’所有26个字母在原信息中均出现过并获得了相应的“密字”。
所有信息扫描完毕,但发现存在某个(或某些)字母在原信息中没有出现。
扫描中发现掌握的信息里有明显的自相矛盾或错误(违反S过密码的编码规则)。
例如某条信息“XYZ”被翻译为“ABA”就违反了“不同字母对应不同密字”的规则。
在小C忙得头昏脑胀之际,R国司令部又发来电报,要求他翻译另外一条从S国刚刚截取到的加密信息。
现在请你帮助小C:
通过线掌握的信息,尝试破译密码。
然后利用破译的密码,翻译电报中的加密信息。
共3行,每行为一个长度在1到100之间的字符串。
第1行为小C掌握的一条加密信息。
第2行为第1行的加密信息所对应的原信息。
第3行为R国司令部要求小C翻译的加密信息。
输入数据保证所有字符串仅由大写字母‘A’—‘Z’构成,且第1行长度与第2行相等。
共1行。
若破译密码停止时出现2,3两种情况,请你输出“Failed”(不含引号,注意首字母大写,其它小写)。
否则请输出利用密码翻译电报中加密信息后得到的原信息。
样例#1:
AA
AB
EOWIE
样例#2:
QWERTYUIOPLKJHGFDSAZXCVBN
ABCDEFGHIJKLMNOPQRSTUVWXY
DSLIEWO
样例#3:
MSRTZCJKPFLQYVAWBINXUEDGHOOILSMIJFRCOPPQCEUNYDUMPP
YIZSDWAHLNOVFUCERKJXQMGTBPPKOIYKANZWPLLVWMQJFGQYLL
FLSO
Failed
样例#2:
样例#3:
NOIP
输入输出样例1说明:
原信息中的字母‘A’和‘B’对应相同的密字,输出“Failed”。
输入输出样例2说明:
字母‘Z’在原信息中没有出现,输出“Failed”。
NOIP2009复赛提高组第一题
10:
加密的病历单
小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。
在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的。
经过研究,小英发现了如下加密规律(括号中是一个“原文->
密文”的例子)
1.
原文中所有的字符都在字母表中被循环左移了三个位置(dec
->
abz)
2.
逆序存储(abcd->
dcba)
3.
大小写反转(abXY->
ABxy)
一个加密的字符串。
(长度小于50且只包含大小写字母)
输出解密后的字符串。
GSOOWFASOq
Trvdizrrvj
医学部计算概论2011年期末考试(王志钢)改编
11:
将字符串中的小写字母转换成大写字母
给定一个字符串,将其中所有的小写字母转换成大写字母。
输入一行,包含一个字符串(长度不超过100,可能包含空格)。
输出转换后的字符串。
helloworld123Ha
HELLOWORLD123HA
12:
大小写字母互换
把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母。
输入一行:
待互换的字符串。
输出一行:
完成互换的字符串(字符串长度小于80)。
Ifso,youalreadyhaveaGoogleAccount.Youcansigninontheright.
iFSO,YOUALREADYHAVEAgOOGLEaCCOUNT.yOUCANSIGNINONTHERIGHT.
13:
整理药名
医生在书写药品名的时候经常不注意大小写,格式比较混乱。
现要求你写一个程序将医生书写混乱的药品名整理成统一规的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。
如将ASPIRIN、aspirin整理成Aspirin。
第一行一个数字n,表示有n个药品名要整理,n不超过100。
接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。
药品名由字母、数字和-组成。
n行,每行一个单词,对应输入的药品名的规写法。
AspiRin
cisapride
2-PENICILLIN
Cefradine-6
Aspirin
Cisapride
2-penicillin
习题(7-8)医学部2010期末试题臧家瑞
14:
忽略大小写的字符串比较
一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'
\0'
为止。
如果全部字符都相同,则认为相同;
如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:
如果某个字符串遇到'
而另一个字符串还未遇到'
,则前者小于后者)。
但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"
Hello"
和"
hello"
在忽略字母大小写时是相等的。
请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
输入为两行,每行一个字符串,共两个字符串。
(每个字符串长度都小于80)
如果第一个字符串比第二个字符串小,输出一个字符"
<
"
;
如果第一个字符串比第二个字符串大,输出一个字符"
>
如果两个字符串相等,输出一个字符"
="
。
Hello,howareyou?
hello,Howareyou?
=
15:
验证子串
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入两个字符串,每个字符串占一行,长度不超过200且不含空格。
若第一个串s1是第二个串s2的子串,则输出(s1)issubstringof(s2)
否则,若第二个串s2是第一个串s1的子串,输出(s2)issubstringof(s1)
否则,输出Nosubstring。
abc
dddncabca
abcissubstringofdddncabca
JerryCircle[Java语言程序设计]
16:
删除单词后缀
给定一个单词,如果该单词以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之后的字符串。
Youwantsomeonetohelpyou
You
I
Iwantsomeonetohelpyou
医学部计算概论2006期末考试题
18:
紧急措施
近日,一些热门遭受黑客入侵,这些的账号、密码及email的数据惨遭泄露。
你在这些上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。
你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。
策略如下:
根据email找到你的用户名和密码,然后更改密码。
更改的规则为:
小写和大写交换,非字母字符保持不变。
第一行为你的email地址,长度不超过50个字符且只包含字母、数字和‘’符号。
第二行为账号数N,N(0<
N<
10000)。
接下来N行,每行表示一个账号,格式为:
用户名密码email
它们之间用单个空格分开。
用户名、密码、email均不含空格,且长度不超过50个字符。
有若干行,每行为你的一个账号,包括:
你的账号,修改后的密码(之间用单个空格分隔)。
如果没有你的账号,则输出empty。
样例输入1:
abcpku.edu.
5
helloKittyiLoveCatsabcpku.edu.
2012maya2012cplusplusexam.
KittyCat5iKittyabcpku.edu.
programpasswordteacherexam.
whoAmiFeb.29$abcpku.edu.
样例输入2:
1
样例输出1:
helloKittyIlOVEcATS
KittyCat5IkITTY
whoAmifEB.29$
样例输出2:
empty
医学部计算概论2011年期末考试(佳亮)
19:
过滤多余的空格
一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。
一行,一个字符串(长度不超过200),句子的头和尾都没有空格。
过滤之后的句子。
Helloworld.Thisisclanguage.
20:
单词的长度
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。
注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。
没有被空格间开的符号串,都算作单词。
一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。
单词序列总长度不超过1000。
依次输出对应单词的长度,之间以逗号间隔。
Shewasbornin1990-01-02andfromBeijingcity.
3,3,4,2,10,3,4,7,5
习题(7-7)元培-FromWHF
21:
最长最短单词
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。
单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
一行句子。
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
IamstudyingProgramminglanguageCinPekingUniversity
Programming
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
习题(12-2)
22:
字符串最大跨距
有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。
想检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的右边界点在S2的左边界点的左侧)。
计算满足上述条件的最大跨距(即,最大间隔距离:
最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。
如果没有满足条件的S1,S2存在,则输出-1。
例如,S="
abcd123ab888efghij45ef67kl"
S1="
ab"
S2="
ef"
,其中,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:
单词翻转
输入一个句子(一行),将句子中的每一个单词翻转后输出。
只有一行,为一个字符串,不超过500个字符。
单词之间以空格隔开。
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
helloworld
ollehdlrow
24:
单词倒排
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入为一个字符串(字符串长度至多为100)。
输出为按要求排续后的字符串。
Iamastudent
studentaamI
25:
ISBN
每一本正式出版的图书都有一个ISBN与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。
ISBN码的首位数字表示书籍的出版语言,例如0代表英语;
第一个分隔符“-”之后的三位数字代表,例如670代表维京;
第二个分隔之后的五位数字代表该书在的编号;
最后一位为识别码。
识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。
例如ISBN0-670-82162-4中的识别码4是这样得到的:
对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×
1+6×
2+„„+2×
9=158,然后取158mod11的结果4作为识别码。
你的任务是编写程序判断输入的IS