网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

字符串‘ababaabab’的next[j] 函数的值为 ()。

A.(0,1,1,2,3,4,2,3,4)

B.(0,1,0,1,0,4,1,0,1)

C.(0,1,0,1,0,0,0,1,1)

D.(0,1,0,1,0,1,0,1,1)


参考答案和解析
01010421
更多 “字符串‘ababaabab’的next[j] 函数的值为 ()。A.(0,1,1,2,3,4,2,3,4)B.(0,1,0,1,0,4,1,0,1)C.(0,1,0,1,0,0,0,1,1)D.(0,1,0,1,0,1,0,1,1)” 相关考题
考题 ●试题二阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:"LEVEL"是回文字符串,而"LEVAL"不是。【函数2.1】int palindrome(char s[]){char*pi,*pj;pi=s;pj=s+strlen(s)-1;while(pi<pj (1) ){pi++;pj--;}if( (2) )return -1;else return 0;}【函数2.2说明】函数f(char*str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为"33123333435",del的值为"3",调用此函数后,将输出3个子字符串,分别为"12"、"4"和"5"。【函数2.2】void f(char*str,char del){int i ,j ,len;len=strlen(str);i=0;while(i<len){while( (3) )i++;/*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j]!=del str[j]!=′\0′)j++;(4) =′\0′;/*给找到的字符序列置字符串结束标志*/printf(″%s\t″,str[i]);(5) ;}}

考题 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【函数2.1说明】函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。【函数2.1】int palindrome( char s[ ] ){ char * pi, * pj;pi=s; pj=s+strlen(s)-1;while( pi<pj(1)){pi ++ ;pj --}if((2))return -1;else return 0;}【函数2.2说明】函数f(char * str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”、“4”和“5”。【函数2.2】void f( char * str, char del){ int i ,j ,len;len = strlen (str)i=0;while(i < len) {while((3))i++; /*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j] != del str[j] ! = '\0')j ++(4): '\0'; /*给找到的字符序列置字符串结束标志*/printf("%s\t",str[i]);(5);}}

考题 以下程序的输出结果是 ______。 Dim n(2,2), i, j As Integer For i = 0 To 2 For j = 0 To 2 n(i,j) = i + j Next j Next i For i = 0 To 1 For j = 0 To 1 n(i+ 1 ,j + 1) = n(i + 1,j + 1) + n(i, j) Next j Next i Print n(i, j)A.14B.0C.6D.值不确定

考题 阅读下面的程序段,执行上面的三重循环后,a的值为 ______ 。 For i=1 To 3 For j=1 To i For k=j To 4 a=a+1 Next k Next j Next iA.9B.24C.14D.20

考题 返回值为字符串的函数是( )。A、 StrB、 ValC、 LenD、 Asc

考题 (10)假设有下列程序段: For i=1 To 3 For j=5 To 1 Step -1 Print i*j Next j Next i则语句Print i*j的执行次数是,i的值为______,j的值为______。

考题 请补充函数fun(),该函数的功能是:把字符串str中的字符按字符的ASCⅡ码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入。例如,如果输入“cdefgh”,则输出为“hgfedc”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>define N 80void fun (char s [], int n){int i, j;char ch;for (i=0; i<n; i++)for(j=【 】;j<n;j++)if (s[i]<s [j]){ch=s [j];【 】;s [i] =ch;}main ( ){int i=0, strlen=0;char str [N];clrscr ();printf ("\nInput a string: \n");gets (str);while (str [i] !=' \0'){strlen++;i++;}fun (str, strlen);printf ("\n***display string ***\n");puts (str);}

考题 阅读下面的程序段: K=0 for I=1 to 3 for J=1 to I K=K+J Next J Next I 执行上面的语句后,K的值为______。A.8B.10C.14D.21

考题 函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。[函数]void f_str(char *str,char del){ int i,j,len;len = strlen(str);i = 0;while (i<len) {while ( (6) )i++; /* 忽略连续的标志字符 *//* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */j = i+1;while (str[j] !=del str[j] !='\0')j++;(7)="\0"; /* 给找到的字符序列置字符串结束标志 */printf (" %s\t", str [i]);(8);}}

考题 阅读下面的程序段: K=0 Forl=1 t03 For J=l to I K=K+J Next J Next 1 执行上面的语句后,K的值为______。A.8B.10C.14D.21

考题 下列的程序段执行后,X的值为______。 K=0 For i=1 To 10 For j=i To 10 x= x + 1 Next j Next iA.50B.55C.100D.105

考题 阅读下面的程序段: For i=1 To 3 For j=i To 3 For k= 1 To 3 a=a+i Next k Next j Next i 执行上面的3重循环后,a的值为A.3B.9C.14D.30

考题 编写以下程序段: DIM I, J, K, A A=0 FOR I = 1 TO 3 FOR J = 1 TO I FOR K=-J TO 3 A=A+1 NEXT K NEXT J NEXT I 执行上面的三重循环后,变量A的值为( )。A.3B.9C.14D.21

考题 试题四(共15分)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1 。KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:1.在串t和串s中,分别设比较的起始下标i=J=O2.如果串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:长度为悯铂Is的字符串next:next数组,长度为Is(2)C程序include stdio.hnclude stdliB.hinclude string.h/*求next【】的值*/void get_next( int *next, char *s, int Is) {int i=0,j=-1;next[0]=-1;/*初始化next[0]*/while(i ils){/*还有字符*/if(j=-1l ls[i]=s[j]){/*匹配*/j++;i++;if( s[i]一s[jl)next [i]- next[j];elseNext[i]=j;}elseJ= next[j];}}int kmp( int *next, char *t ,char *s, int.lt, int Is ){inti= 0,j =0 ;while (ilt ( 1 ) {if( j=-1 II 2_) {i++ ;j ++ ;} else(3) :}if (j= ls)Retum (4)else .retum-1;【问题1】(8分)根据题干说明,填充C代码中的空(1)~(4).【问题2】(2分)根据题干说明和C代码,分析出kmp算法的时间复杂度为 (5)(主串和子的长度分别为It和Is,用O符号表示)。【问题3】(5分)根据C代码,字符串“BBABBCAC”的next数组元素值为 (6) (直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC则函数Kmp的返回值是 (7)

考题 阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式计算并返回 的近似值。【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 iyt?67kp f3g8d5.j4ia2e3p12, 则函数返回值为 67385423。

考题 在字符串的KMP模式匹配算法中,需先求解模式串的next函数值,其定义如下式所示,j表示模式串中字符的序号(从1开始)。若模式串p为“abaac”,则其next函数值为 (60) 。A.01234B.01122C.01211D.01111

考题 阅读下列说明和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)。

考题 在字符串的KMP模式匹配算法中,需先求解模式串的next函数值,其定义如下式所示,j表示模式串中字符的序号(从1开始)。若模式串p为"abaac",则其next函数值为 ( ) 。 A.01234 B.01122 C.01211 D.01111

考题 阅读下列说明和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:长度为悯铂Is的字符串 next:next数组,长度为Is (2)C程序 #include #include #include /*求next[]的值*/ void get_next( int *next, char *s, int Is) { int i=0,j=-1; next[0]=-1;/*初始化next[0]*/ while(i if(j==-1l ls[i]==s[j]){/*匹配*/ j++; i++; if( s[i]==s[j]) next[i] = next[j]; else Next[i] = j; } else j = next[j]; } } int kmp( int *next, char *t ,char *s, int lt, int Is ) { Int i= 0,j =0 ; while (i if( j==-1 || (2) ){ i ++ ; j ++ ; } else (3) ; } if (j >= 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)。

考题 对字符串处理函数strcmp()描述正确的是()A、字符串1等于字符串2,函数返回值等于0B、字符串1大于字符串2,函数返回值等于1C、字符串1小于字符串2,函数返回值等于-1D、不能使用关系运算符“==”来比较两个字符串,只能用strcmp()函数来处理

考题 MsgBox函数返回值的类型为()A、长整型B、数值或字符串C、字符串D、变体

考题 数据结构里,关于字符串函数strcmp()描述错误的是()。A、函数功能是比较两个字符串的大小。B、字符串1等于字符串2,函数返回值等于trueC、字符串1大于字符串2,函数返回值是1。D、字符串1小于字符串2,函数返回值是-1。

考题 字符串的处理函数strcpy是系统定义的,作用是进行字符串拷贝,两个参数,返回值为char*。

考题 InputBox函数返回值的类型为()。A、数值B、字符串C、变体D、数值或字符串(视输入的数据而定)

考题 InputBox函数返回值的类型为()。A、数值B、字符串C、变体D、数值或字符串

考题 单选题数据结构里,关于字符串函数strcmp()描述错误的是()。A 函数功能是比较两个字符串的大小。B 字符串1等于字符串2,函数返回值等于trueC 字符串1大于字符串2,函数返回值是1。D 字符串1小于字符串2,函数返回值是-1。

考题 单选题InputBox函数返回值的类型为()。A 数值B 字符串C 变体D 数值或字符串

考题 单选题MsgBox函数返回值的类型为()A 长整型B 数值或字符串C 字符串D 变体