首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

从字符串S="abcdefg"中返回子串"cd"的正确函数引用是()。A.id(S,3,2)B.Right(Left(S,4),2)C.Left(

从字符串S="abcdefg"中返回子串"cd"的正确函数引用是()。

A.id(S,3,2)

B.Right(Left(S,4),2)

C.Left(Right(S,5),2)

D.以上都可以

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“从字符串S="abcdefg"中返回子串"cd"的正确函数引…”相关的问题
第1题
从字符串S("abcdefg")中返回子串B("cd")的正确表达式为______。A.Mid(S,3,2)B.Right(Left(S,4),2)

从字符串S("abcdefg")中返回子串B("cd")的正确表达式为______。

A.Mid(S,3,2)

B.Right(Left(S,4),2)

C.t,eft(mght(S,5),2)

D.以上都可以

点击查看答案
第2题
从字符串S("abcdefg")中返回子串B("cd")的正确表达式是______。A.Mid(S,3,2)B.Right(Left(S,4),2)

从字符串S("abcdefg")中返回子串B("cd")的正确表达式是______。

A.Mid(S,3,2)

B.Right(Left(S,4),2)

C.Left(Right(S,5),2)

D.以上都可以

点击查看答案
第3题
设串s1='ABCDEFG',s2='PQRST',函数con(x,y)返回x和y串的连(s,i,j)返回串s的从序号i的字符开始的j

设串s1='ABCDEFG',s2='PQRST',函数con(x,y)返回x和y串的连(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

点击查看答案
第4题
203、1698).从字符串S("abcdefg")中返回字符串B("cd")的正确表达式是()

A.Mid(S,3,2)

B.Right(Left(S,4),2)

C.Left(Right(S,5),2)

D.以上都可以

点击查看答案
第5题
●试题五 阅读以下程序说明和C程序,将应填入(n)处的子句,写在答卷纸的对应栏内。 【程序说明】 函

●试题五

阅读以下程序说明和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(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;

}

点击查看答案
第6题
试题四(共15分)阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】模式匹

试题四(共15分)

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

【说明】

模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。

如果匹配成功,返回s在t中的位置,否则返回-1 。

KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:

1.在串t和串s中,分别设比较的起始下标i=J=O

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 <stdio.h>

nclude <stdliB.h>

include <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];

else

Next[i]=j;

}

else

J= next[j];

}

}

int kmp(int *next, char *t ,char *s, int.lt, int Is )

{

inti= 0,j =0 ;

while (i<lt && (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)

点击查看答案
第7题
阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 我国现行使用的

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB 11643-1989〗和〖GB 11643-1999〗。〖CB 11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB 11643 -1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:

(1)计算校验码和S=a18W18+a17W17+…+a2W2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;

(2)计算校验码值R,其值为校验和模11的结果;

(3)根据下面对应关系找出校验码C:

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 我国

由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。 [说明] 我国

在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。

代码中使用到的字符串函数及功能说明如下:

(1)Len(s):获取字符串s的长度;

(2)Left(s,1):返回字符串s左端长度为1的子串;

(3)Right(s,1):返回字符串s右端长度为1的子串;

(4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。

[Visual Basic代码]

’计算18位身份证号码

Private Sub Commandl_Click()

Dim code As String

Dim S As Integer

code = Textl. Text '提取15位身份证号码

If Len(code) < > 15 Then

MsgBox "ID 号码长度不正确,请检查!"

(1)

End If

code = Left(code, 6) + "19" + (2) (code, 9) '年份升位

S=0

For i = 18 To 2 Step -1 '计算校验码和

S = S + Clnf((3)) * (2 ^ (i - 1) Mod11)

Next i

(4) '计算校验码值

Select Case S '确定校验码

Case 0: code = code + "1"

Case 1: code = code + "0"

Case 2: code = code + "X"

Case Else: code = code + CStr((5))

End Select

Text2. Text = code '显示18位身份证号码

End Sub

点击查看答案
第8题
请教:2013年全国计算机等级考试《二级VF》考前预测试卷(五)第1大题第6小题如何解答?

【题目描述】

表达式VAL(SUBSTR(”i5处理器”,2,1))^Len(”MS Visual FoxPro”)的结果是()。

A. 5.00

B. 16.00

C. 21.00

D. 80.00

【我提交的答案】: C
【参考答案与解析】:

正确答案:D

答案分析:

SUBSTR:在一个字符串中从指定位置起返回给定长度的子串。

VAL:将字符型的数字转换成数值。LEN:返回一个字符串的长度。

注意:在Visual FoxPro中一个汉字占两个字符的宽度。所以SUBSTR(”i5处理器”,2,1)的返回值是“5”,VAL(”5”)=5,Len(”MS Visual FoxPro”)=16,5×16=80。

请用通俗的话解释一下

点击查看答案
第9题
设s是一个长度为5的字符串,其中的字符各不相同,则计算s中互异的非平凡子串(非空且不同于s本身)数目的算式为()。

A.5+4+3+2+1

B.5+4+3+2

C.4+3+2+l

D.4+3+2

点击查看答案
第10题
问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及一个长度为p的约束字符串S[
0...p-1].带有子串包含约束的最长公共子序列问题就是要找出x和y的包含s为其子串的最长公共子序列.例如,如果给定的序列x和y分别为AATGCCTAGGC和CGATCTGGAC,字符串s=GTA时,子序列ATCTGGC是x和y的一个无约束的最长公共子序列,而包含s为其子串的最长公共子序列是GTAC.

算法设计:设计一个算法,找出给定序列x和y的包含s为其子串的最长公共子序列.

数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x、y和约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.

结果输出:将计算出的x和y的包含s为其子串的最长公共子序列的长度输出到文件output.txt中.

问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及一个长度为p

问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及一个长度为p

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改