网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
字符串“ababaabab”的next数组为()。
A.-100123123
B.-100123012
C.-101234012
D.-101012123
参考答案和解析
(0,1,0,0,4,1,0,1)
更多 “字符串“ababaabab”的next数组为()。A.-100123123B.-100123012C.-101234012D.-101012123” 相关考题
考题
下列有关字符数组与字符串的说法中,正确的是 _______ 。
A.字符数组中存放的一定是一个字符串B. 所有的字符数组都可以被当作字符串处理C. 对存放字符串的字符数组可像一般数组一样对数组中单个元素操作D. 一个字符数组可以认为就是一个字符串
考题
下面是有关 C 语言字符数组的描述,其中错误的是A) 不可以用赋值语句给字符数组名赋字符串B) 可以用输入语句把字符串整体输入给字符数组C) 字符数组中的内容不一定是字符串D) 字符数组只能存放字符串
考题
有以下程序#includestring.hmain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D.由于p和q数组中都没有字符串结束符,故长度都不能确定
考题
标准库函数fgets(s,n,file)的功能是( )。A.从文件file中读取长度为n的字符串存入字符数组s中B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组s中C.从文件file中读取n个字符串存入字符数组s中D.从文件file中读取长度为n-1个字符的字符串存入字符数组s中
考题
有以下程序includemain(){charp[]={'a','b','c'},q[10]={'a','b','c'};printf("%d%d\
有以下程序 #include<string.h> main() { charp[]={'a','b','c'},q[10]={'a','b','c'}; printf("%d%d\n",strlen(p),strlen(q));} 以下叙述中正确的是A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D.由于p和q数组中都没有字符串结束符,故长度都不能确定
考题
有以下程序 #include 〈string.h〉 main ( ) { char p[]={'a','b ,'c'}, q[10]={'a','b','c'}; printf("%d %d\n",strlen(p),strlen(q)); } 以下叙述中正确的是A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B.由于p数组中没有字符申结束符,长度不能确定;但q数组中字符串长度为3C.由于q数组中没有字符串结束符,长度不能确定:但p数组中字符串长度为3D.由于p和q数组中都没有字符串结束符,故长度都不能确定
考题
下面是有关C语言字符数组的描述,其中错误的是( )。 A.不可以用赋值语句给字符数组名赋字符串S
下面是有关C语言字符数组的描述,其中错误的是( )。A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串
考题
标准库函数fgets(s,n,file)的功能是( )。A.从文件file中读取长度为n的字符串存入字符数组S由S
标准库函数fgets(s,n,file)的功能是( )。A.从文件file中读取长度为n的字符串存入字符数组S由B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组S中C.从文件file中读到n个字符串存入字符数组s中D.从文件file中读取长度为n-1个字符的字符串存人字符数组s中
考题
有以下程序:以下叙述中正确的是( )。A.在给P和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B.由于P数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3C.由于q数组中没有字符串结束符,长度不能确定;但P数组中字符长度为3D.由于P和q数组中没有字符串结束符,故长度都不能确定
考题
下列说法正确的是( )。A.字符型数组与整型数组可通用B.字符型数组与字符串其实没有什么区别C.当字符串放在字符数组中时,要求字符数组长度比字符串长1个单元,要放字符串终结符'\0'D.字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别
考题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1。
KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:
1.在串t和串s中,分别设比较的起始下标i=j=0。
2.如果串t和串s都还有字符,则循环执行下列操作:
(1)如果j=-l或者t[i]=s[j],则将i和j分别加1,继续比较t和s的下一个字符;
(2)否则,将j向右滑动到next[j]的位置,即j =next[j]。
3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回-1。
其中,next数组根据子串s求解。求解next数组的代码已由get_next函数给出。
【C代码】
(1)常量和变量说明
t,s:长度为lt和ls的字符串
next:next数组,长度为ls
(2)C程序
#include #include#include/*求next[]的值*/void get_next( int*next, char *s, int ls) { inti=0,j=-1; next[0]=-1;/*初始化next[0]*/ while(i= ls)return (4) ;else return-1;}
【问题1】(8分)
根据题干说明,填充C代码中的空(1)~(4).
【问题2】(2分)
根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。
【问题3】(5分)
根据C代码,字符串"BBABBCAC"的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为"AABBCBBABBCACCD",子串为"BBABBCAC",则函数Kmp的返回值是(7)。
考题
StringBufferappend(char[],intint1,intint2)表示()A、向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2结束B、向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2-1结束C、向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2D、向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2-1
考题
下面是有关C语言字符数组的描述,其中正确的是()A、不可以用赋值语句给字符数组名赋字符串B、可以用输入语句把字符串整体输入给字符数组C、字符数组中的内容不一定是字符串D、字符数组只能存放字符串
考题
关于main方法中的arg[],下列哪个表述是正确且全面的()A、main方法中的参数是字符串数组arg[],args是命令行参数,字符串数组arg[]的元素是在程序运行时从命令行输入的。B、main方法中的参数是字符串数组arg[],args是命令行参数,字符串数组arg[]的元素是在程序编译时从命令行输入的。C、main方法中的参数是字符串数组arg[],args是命令行参数,字符串数组arg[]的元素是在程序编译时直接写入txt文件的。D、main方法中的参数是字符串数组arg[],args是命令行参数,字符串数组arg[]的元素可以在任何需要的时刻内输入。
考题
单选题以下对C语言字符数组描述中,正确的是()A
可以用length函数计算字符数组中字符串的长度B
可以在赋值语句中通过赋值运算符=对字符数组整体赋值C
存放在字符数组中的字符串,以’/0’作为该字符串结束标志D
字符数组只能存放字符串,不能存放字符
考题
填空题模式串t=‘abcaabbcabcaabdab’,该模式串的next数组的值为(),nextval数组的值为()
热门标签
最新试卷