数据结构字符串题库

1、设有字符串变量String A =“”,B=“MULE”,C=“OLD”,D=“MY” ; 请计算下列表达式

(1) D+C+B

(2) B.substr(3,2) 

(3) A.strlength()

解析

提示:系统基于字符匹配来判定答案,所以您的3个答案本身不要出现空格,答案之间用空格分开。

1.字符串连接

2.从第3位开始取2个字符,但是'MULE'第三位及之后只有一位字符,所以答案为E

3. A是空串

答案: MYOLDMULE E 0

2、S=“S1S2…Sn”是一个长为n的字符串,存放在一个数组中,编程序将S改造之后输出。     

1.将S的所有第偶数个字符按照其原来的下标从大到小的次序放在S的后半部分;       

2.将S的所有第奇数个字符按照其原来的下标从小到大的次序放在S的前半部分;

例如:S=‘ABCDEFGHIJKL’,则改造后的S为‘ACEGIKLJHFDB’。则 S=’algorithm’, 改造后为____________

解析

前半部分为,algorithm奇数的字符,即agrtm;后半部分为Algorithm偶数字符下标从大到小次序,即hiol,故结果是agrtmhiol。 

答案: agrtmhiol

3、设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )(单选)

 A、求子串 Seeking substring

 B、联接 Concatenation

 C、匹配 Matching

 D、求串长 Seeking length

解析

A.求子串:求子串是给定首字符在原字符串中位置和子串长度,输出子串的运算   

B.联接:是把两个字符串连接到一起输出新字符串的运算 

C.匹配:是求子串在父串中位置的运算    

D.求串长:求字符串的长度 

4、若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,

执行  concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2)))

注意:substr(S,i,j)是对字符串S的下标为i开始取j个字符,这里的下标是从0开始的(单选)

 A、ABC###G0123

 B、ABCD###2345

 C、ABCD###1234

 D、ABC###G2345

解析

substr(S1,length(S2),length(S3))即substr(S1,4,3)),从下标4开始取s1三个字符,即EFG,replace(S1,substr(S1,length(S2),length(S3)),S3)即replace(S1,‘EFG',’###‘),故结果为’ABCD###‘,而,substr(S4,index(S2,‘8’),length(S2))即,substr(S4,1,4)(其中index(S2,‘8’)指的是找s2中第一个’8‘的下标),故为’1234‘。故最后结果为ABCD###1234

答案: C

5、在字符{A, C, G, T}组成的DNA序列中,A和T、C和G是互补对。判断一个DNA序列中是否存在互补回文串(例如,ATCATGAT的补串是TAGTACTA,与原串形成互补回文串)。下面DNA序列中存在互补回文串的是:(多选)

 A、CTGATCAG

 B、AATTAATT

 C、TGCAACGT

 D、CATGGTAC

 E、GTACGTAC

 F、AGCTAGCT

解析

C.TGCAACGT : 互补串为ACGTTGCA,不是原串回文。

D.CATGGTAC : 互补串为GTACCATG,不是原串回文。

猜你喜欢

转载自blog.csdn.net/wydyd110/article/details/81330324