单选题设串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

单选题
设串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))的结果串是()
A

BCDEF

B

BCDEFG

C

BCPQRST

D

BCDEFEF


参考解析

解析: 暂无解析

相关考题:

●试题五阅读以下程序说明和C程序,将应填入(n)处的子句,写在答卷纸的对应栏内。【程序说明】函数int commstr(char *str1,char *str2,int *sublen)从两已知字符串str1和str2中,找出它们的所有最长的公共子串。如果最长公共子串不止1个,函数将把它们全部找出并输出。约定空串不作为公共子串。函数将最长公共子串的长度送入由参数sublen所指的变量中,并返回字符串str1和str2的最长公共子串的个数。如果字符串str1和str2没有公共子串,约定最长公共子串的个数和最长公共子串的长度均为0。【程序】int strlen(char *s){char *t=s;while(*++);return t-s-1;}intcommstr(char)*str1,char *str2,int *sublen{char*s1,*s2;int count=0,len1,len2,k,j,i,p;len1=strlen(str1);len2=strlen(str2);if(len1len2){s1=str1;s2=str2;}else{len2=len1;s1=str2;s2=str1;}for(j=len2;j0;j--)/*从可能最长子串开始寻找*{for(k=0; (1) =len2;k++)/*k为子串s2的开始位置*/{for(i=0;s1[ (2) ]!='\0';i++;)/* i为子串s1的开始位置*/{/* s1的子串与s2的子串比较*/for(p=0;pj) (3) ;p++);if ( (4) )/*如果两子串相同*/{for(p=0);pj;p++}/*输出子串*/printf("%c",s2[k+p]);printf("\n");count++;/* 计数增1*/}}}if (count0)break;*sublen=(count0)? (5) :0;return count;}

设串sl=〃DataStructureswithJava〃,s2=〃it〃,则子串定位函数index(s1,s2)的值为()。 A、15B、16C、17D、18

下面函数的功能是( )。int func(char*x){ char*y=x;while(*y++);return(y-x-1);}A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串yD.将字符串x连接到字符串y后面

阅读以下函数fun(char *sl,char *s2){ int i=0;while(sl[i]==s2[i]s2[i]!='\0') i++;return(sl[i]=='\0's2[i]=='\0');}此函数的功能是A.将s2所指字符串赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0

以下函数的返回结果是( )。int function(char *x) {char *p=x; while(*p++); return(p-x-1);}A、求字符串的长度B、将字符串x连接到字符串p后面C、将字符串x复制到字符串p中D、将字符串x反向存放

下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++); return y-x-1; }A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串x连接到字符串y后面

阅读以下函数 fun(char *sl,char *s2) { int i:0; while(sl[i]==s2[i]s2[i]!='\0') i++; return(sl[i]=='\0's2[i]=='\0'); } 此函数的功能是A.将s2所指字符申赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为oD.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为o

阅读以下程序说明和C程序,将应填入(n)处的子句,写在对应栏内。【程序说明】函数int commstr(char * str1,char * str2,int * sublen)从两已知字符串str1和str2中,找出它们的所有最长的公共子串。如果最长公共子串不止1个,函数将把它们全部找出并输出。约定空串不作为公共子串。函数将最长公共子串的长度送入由参数sublen所指的变量中,并返回字符串str1和str2的最长公共子串的个数。如果字符串str1和str2没有公共子串,约定最长公共子串的个数和最长公共子串的长度均为0。【程序】int strlen(char * s){char *t=s;while( * ++);return t-s-1;}int commstr(char) *str1,char *str2,int *sublen{ char*s1, *s2;int count=0,len1 ,len2,k,j,i,p;len1:=strlen(str1)len2 = strlen(str2);if(len1>len2){s1=str1 ;s2=str2;}else {len2 = len1;s1 = str2;s2 = str1;}for(j=len2;j>0;j--) /*从可能最长子串开始寻找*/{for(k=0;(1)<:len2;k++) /*k为子串s2的开始位置*/{for(i=0;s1[(2)]!='\0';i++;) /*i为子串s1的开始位置*/{ /*s1的子串与s2的子串比较*/for (p=0;p<j)(3);p++);if ((4)) /*如果两子串相同*/{for(p=0);p<j;p++} /*输出子串*/printf ("%c",s2[k+p]);printf ("\n");count++;/*计数增1 */}}}if (count>0) break;*sublen=(count>0)?(5):0;return count;}

以下说法中错误的是A.strcpy(A,B)函数是将A字符串的内容复制到B字符串中B.strlen(cha*s)返回字符串S的长度,未尾的字符不计算在内C.char a[20]="string";中字符串长度为6D.strstr(S1,S2)函数在字符串S1中从左边开始查找字符串S2,若查找成功则返回S2在S1中首次出现的位置,否则返回NULL,如果S2为"",则返回S1。

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址#include <stdio.h>#include <string.h>char *scmp(char *s1, char *s2){ if(strcmp(s1,s2)0)return(s1);else return(s2);}main( ){ int i; char string[20], str[3][20];for(i=0;i3;i++) gets(str[i]);strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为A.abcdB.abbaC.abcD.abca

设字符串s1='ABCDEFG',s2='PQRST',则运算s=CONCAT(SUB(s1,2,LEN(s2)),SUB(s1,LEN(s2,2))后的串值为(65)。A.'ABCDEFEF'B.'BCDEFG'C.'BCPQRST'D.'BCQR'

以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。A.abedB.abbaC.abcD.abca

下述函数功能是_______。 int fun(char*x) { char*y=x; while(*y++); return y-s-1; }A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串x连接到字符串y后面

下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++) retumy-x-1; }A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串x连接到字符串y后面

阅读以下函数: fun(char*s1, char*s2) { int i=0; while(s1[i]==s2[i] s2[i]!='\0') i++; return(s1[i]== s2{i)!=='\0'); } 此函数的功能是( )。A.将s2所指字符串赋给s1B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0

有以下函数函数的功能是( )。A.统计x和y所指字符串中最前面连续相同的字符个数B.查找x和y所指字符串中是否有’\0’C.将y所指字符串赋给x所指存储空间D.统计x和y所指字符串中相同的字符个数

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+A.abcdB.abbaC.abcD.abca

有以下函数 int fun(char*X,char*y) { int n=0; while((*x= = =*y)*x!=\O){x++; y++; n++;} return n; } 函数的功能是( )。A.查找X和y所指字符串中是否有\oB.统计x和Y所指字符串中最前面连续相同的字符个数C.将Y所指字符串赋给X所指定存储空间D.统计X和Y所指字符串中相同的字符个数

下面函数的功能是 ( ) int funl(char * X) { char * y=X; whar(* y + + ); return (y - x - 1);}A.求字符串的长度B.比较两个字符串的大小C.将字符串x复制到字符串y中D.将字符串x连接到字符串y后面

设串s1="Data Structures、with Java",s2="it",则子串定位函数index(s1,s2)的值为 ( )A.15B.16C.17D.18

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】 计算两个字符串x和y的最长公共子串(Longest Common Substring)。 假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j]记录x中前i个字符和y中前j个字符的最长公共子串的长度。c[i][j]满足最优子结构,其递归定义为: 计算所有c[i][j](0 ≤i ≤ m,0 ≤j ≤ n)的值,值最大的c[i][j]即为字符串x和y的最长公共子串的长度。根据该长度即i和j,确定一个最长公共子串。【C代码】(1)常量和变量说明 x,y:长度分别为m和n的字符串 c[i][j]:记录x中前i个字符和y中前j个字符的最长公共子串的长度 max:x和y的最长公共子串的长度 maxi, maXj:分别表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号) (2)C程序#include #include int c[50][50];int maxi;int maxj;int lcs(char*x, int m, char *y, int n) { int i, j; int max= 0; maxi= 0; maxj = 0;for ( i=0;i i i (1) ) {c[i][j] = c[i-1][j -1] + 1;if(max { (2) ; maxi = i; maxj =j; }}else (3) ; } } return max;}voidprintLCS(int max, char *x) { int i= 0; if (max == 0) return; for ( (4) ; i 【问题1】(8分) 根据以上说明和C代码,填充C代码中的空(1)~(4)。【问题2】(4分) 根据题干说明和以上C代码,算法采用了 (5) 设计策略。 分析时间复杂度为 (6) (用O符号表示)。【问题3】(3分) 根据题干说明和以上C代码,输入字符串x= "ABCADAB’,'y="BDCABA",则输出为 (7) 。

设串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

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

设串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

已知x和y是两个字符串,那么表达式sum((1 for i,j in zip(x,y)ifi==j))可以用来计算两个字符串中对应位置字符相等的个数。

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

单选题有以下函数:intfun(char*x,char*y){ intn=0; while((*x==*y)*x!='\0') {  x++;  y++:  n++; }}函数的功能是(  )。A查找x和y所指字符串中是否有'\0'B统计x、y所指字符串最前面连续相同的字符个数C将y所指字符串赋值给x所指存储空间D统计x和y所指字符串中相同的字符个数