若串S=‘chinese’,其子串的数目是()。A.7B.29C.28D.8

若串S=‘chinese’,其子串的数目是()。

A.7

B.29

C.28

D.8


参考答案和解析
C 解析:由串中任意长度的连续字符构成的序列称为子串,含有子串的串称为主串。子串在主串中的位置是指子串首次出现时,该子串上的第一个字符在主串的位置。空串是任意串的子串。在S中,长度为1的子串有8个,长度为2的子串有7个,…长度为8的子串有1个,再加上空串,所以子串的数目为8+7+6…+1+1=37个。

相关考题:

若串S="abcdef",则其非空子串数目为________。 A、6B、12C、21D、22

试题四(共 15分)阅读以下说明和C函数,将解答填入答题纸的对应栏内。【说明】函数del_substr(S,T)的功能是从头至尾扫描字符串 S, 删除其中与字符串T相同的所有子串,其处理过程为:首先从串 S 的第一个字符开始查找子串 T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型 SString定义如下:typedef struct {char *ch; /*串空间的首地址*/int length; /*串长*/}SString;【C函数】void del_substr(SString *S, SString T){int i, j;if ( S-length 1 || T.length 1 || S-length T.length )return;i = 0; /* i为串S中字符的下标 */for ( ; ; ) {j = 0; /* j为串T中字符的下标 */while ( i S-length j T.length ) { /* 在串S中查找与T相同的子串 */if ( S-ch[i]==T.ch[j] ) {i++; j++;}else {i = (1) ; j = 0; /* i值回退,为继续查找T做准备 */}}if ( (2) ) { /* 在S中找到与T相同的子串 */i = (3) ; /* 计算S中子串T的起始下标 */for(k = i+T.length; kS-length; k++) /* 通过覆盖子串T进行删除 */S-ch[ (4) ] = S-ch[k];S-length = (5) ; /* 更新S的长度 */}else break; /* 串S中不存在子串T*/}}

若串s="MathTypes",则其子串的数目是 【3】 。

若串s="Program",则其子串的数目是( )。

若串S=’syntax’,其字串的数目是( )。 A、6B、21C、22D、7

若串S=‘COMPUTER’,其子串的数目是(42)。A.8B.9C.37D.36

在串S=“information”中,以I为首字符的子串有 ______ 个。

阅读下列说明和C函数,填补C函数中的空缺,将解答填入答案纸的对应栏目内。 【说明】 字符串是程序中常见的一种处理对象,在字符串中进行子串的定位、插入和删除是常见的运算。 设存储字符串时不设置结束标志,而是另行说明串的长度,因此串类型定义如下: typedef struct ﹛ Char *str; //字符串存储空间的起始地址 int length; //字符串长 int capacity; //存储空间的容量 ﹜SString;【函数1说明】 函数indexStr(S,T,pos)的功能是:在S 所表示的字符串中,从下标pos开始查找T所表示字符串首次出现的位置。方法是:第一趟从S中下标为pos、T中下标伟0的字符开始,从左往右逐个对于来比较S和T的字符,直到遇到不同的字符或者到达T的末尾。若到达T的末尾,则本趟匹配的起始下标pos为T出现的位置,结束查找;若遇到了不同的字符,则本趟匹配失效。下一趟从S中下标pos+1处的字符开始,重复以上过程。若在S中找到T,则返回其首次出现的位置,否则返回-1。 例如,若S中的字符为伟students ents,T中的字符串伟ent,pos=0,则T在S中首次出现的位置为4。 【C函数1】 int index Str(SString S ,SString T,int pos) ﹛ int i,j: i (S.length1||T.length1||pos+T.length-1) return-1; for(i=pos,j=0;iS.length jT.length;)﹛ if (S.str[i]==T.str[j])﹛ i++;j++; ﹜ else﹛ i=( 1 );j=0 ﹜ ﹜ if ( 2 )return i -T.length; return-1; ﹜ 【函数2说明】 函数 eraseStr(S,T}的功能是删除字符串S中所有与T相同的子串,其处理过程为: 首先从字符串 S 的第一个字符(下标为0)开始查找子串T,若找到〈得到子串在S中的起始位置),则将串 S 中子串T之后的所有字符向前移动,将子串T覆盖,从而将其删除,然后重新开始查找下一个子串T,若找到就用后面的宇符序列进行覆盖,重复上述过程,直到将S中所有的子串T删除。 例如,若字符串 S为 12ab345abab678、T为ab。第一次找到ab时(位置为2),将345abab678前移,S 中的串改为12345abab678 ,第二次找到ab时(位置为 5);将ab678前移,S中的串改为12345ab678,第三次找到ab时(位置为5);将678前移 ,S中的串改为12345678 。 【C函数2】 Void eraseStr(SString*S,SStringT) ﹛ int i; int pos; if (S-length1||T.length1||S-lengthT.length) return; Pos=0; for(;;)﹛ //调用indexStr在S所表示串的pos开始查找T的位置 Pos=indexStr( 3 ); if(pos=-1) //S所表示串中不存在子串T return; for(i=pos+T.length;iS-length;i++) //通过覆盖来删除自串T S-str[( 4 )]=S-str[i]; S-length=( 5 ); //更新S所表示串的长度 ﹜ ﹜

请教:全国计算机等级考试二级C语言笔试模拟试题(2)第3大题第13小题如何解答?【题目描述】第 58 题若串s=MathTypes,则其子串的数目是【3】。

若串s一”MathTypes”,则其子串的数目是【3】

设有字符串S='software',其长度为3的子串数目为( )。A.8B.7C.6D.5

设串s1=’ABCDEFG’,s2=’PQRST’,函数Concat(x,y)返回x和y串的连接串,SubStr(s,i,j)返回串s的从第i个位置开始的j个字符组成的子串,StrLength(s)返回串s的长度,则Concat(SubStr(s1,2,StrLength(s2)),SubStr(s1,StrLength(s2),2))的结果串是()A、BCDEFB、BCDEFGC、BCPQRSTD、BCDEFEF

下列关于字符串的说法中,只有()是正确的。A、字符串的长度是指串中包含的字母的个数B、字符串的长度是指串中包含的不同字符的个数C、若T包含在S中,则T一定是S的一个子串D、一个字符串不能说是其自身的一个子串

除s本身之外,s的其它子串称为s的真子串。

串s是s本身的真子串。

一个任意串是其自身的子串。

设有两个串S1和S2,求串S2在S1中首次出现位置的运算称作()。A、连接B、求子串C、模式匹配D、判断子串

若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。A、“Nanjing&Shanghai”B、“Nanjing&Nanjing”C、“ShanghaiNanjing”D、“Shanghai&Nanjing”

任意串s都是s本身的子串。

若串S=‘software’,其子串的数目是()。A、8B、37C、36D、9

若串P=”structure”,其子串的数目是()。A、46B、45C、41D、40

设串sI="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,1en(s2)),subs(sl,len(s2),2))的结果串是()A、BCDEFB、BCDEFGC、BCPQRSTD、BCDEFEF

单选题下列关于字符串的说法中,只有()是正确的。A字符串的长度是指串中包含的字母的个数B字符串的长度是指串中包含的不同字符的个数C若T包含在S中,则T一定是S的一个子串D一个字符串不能说是其自身的一个子串

单选题若串P=”structure”,其子串的数目是()。A46B45C41D40

单选题设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是()ABCDEFBBCDEFGCBCPQRSTDBCDEFEF

单选题若串S=‘software’,其子串的数目是()。A8B37C36D9

判断题串s是s本身的真子串。A对B错

判断题除s本身之外,s的其它子串称为s的真子串。A对B错