【单选题】3. 设有两个串p和q ,其中q是p的子串,求q在p中首次出现的位置的算法称为()。
A.串的模式匹配
B.求子串
C.串联接
D.求串长
第1题:
设有两个串p和q,求q在p中首次出现位置的运算称作
A.连接
B.模式匹配
C.求子串
D.求串长
第2题:
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。
【说明】
本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。
【代码】
include<stdio.h>
include<stdlib.h>
include<string.h>
char*replace(char *s1, char *s2,char *s3)
{ char *p, *q, *r, *s; int |2,|3, i=0;
|2=strlen(s2);
|3=strlen(s3);
p=s1;
while((p=strstr(p,s2))!=NULL)
{ i++; /* 统计s2串出现的次数*/
(1);
}
i=(2);
s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/
p=s1;
while(1)
{ q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/
if(q!=NULL)
{ i=q-p;
(3);
r+=i;
(4);
r+=|3;
p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后,
为下一次循环做好准备*/
}
else /*q为空,表示剩余的s1串中已经没有s2*/
{ (5);
break; /*终止循环*/
}
}
return(s); /*返回指向所形成的新串的指针*/
}
void main()
{ char *a="sabcababde", *b="ab", *c="efg", *d;
d=replace(a, b, c); printf("result=%s\n", d); free(d);
}
第3题:
没有两个串p和q,求q在p首次出现位置的运算称作
A.连接
B.模式匹配
C.求于串
D.求串长
第4题:
有以下程序 #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数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D.由于p和q数组中都没有字符串结束符,故长度都不能确定
第5题:
以下函数实现的功能是void fun (char *s){ char *p,*q,temp; p=s; q=s+ strlen(s)-1; while (p<q) { temp=*p; *p=*q; *p=temp; p++; q--; }}
A.将一个字符串首尾颠倒
B.计算字符串的长度
C.统计字符串中的空格个数
D.将字符串中的小写字母变成大写字母
第6题:
设有两个串T和P,求P在T中首次出现的位置的串运算称作【】
A.联接
B.求子串
C.子串定位
D.字符定位
第7题:
假定双寡头各有固定成本24元,但没有可变成本,并且它们具有相同的需求曲线为:厂商1的需求曲线为:Q1=18-3P1+P2,厂商2的需求曲线为:Q2=18-3P2+P1,下列说法正确的是().
A非串谋时,P1=P2=3.6,Q1=Q2=10.8
B串谋时,P1=P2=3.6,Q1=Q2=10.8
C非串谋时,P1=P2=4.5;Q1=Q2=9
D串谋时,P1=P2=4.5;Q1=Q2=10.8
第8题:
设有两个串p和q,求q在p中首次出现的位置的运算称作()
第9题:
设有两个串t和p,求p在t中首次出现的位置的运算叫做()。
第10题:
连接
模式匹配
求子串
求串长
第11题:
连接
求子串
模式匹配
求串长
第12题:
求子串
联接
匹配
求串长
第13题:
设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )。
A、求子串
B、联接
C、模式匹配
D、求串长
第14题:
设有两个串p和q,求q在p中首次出现位置的运算称为( )。
A.连接
B.模式匹配
C.求子串
D.求串长
第15题:
有以下程序 #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数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B.由于p数组中没有字符申结束符,长度不能确定;但q数组中字符串长度为3
C.由于q数组中没有字符串结束符,长度不能确定:但p数组中字符串长度为3
D.由于p和q数组中都没有字符串结束符,故长度都不能确定
第16题:
设有两个字符串p和q,求q在p中首次出现位置的运算称为( )。
A.连接
B.模式匹配
C.求子串
D.求串长
第17题:
有以下程序: #include <stdio.h> #include <string.h> main( ) { char p[] = {'a','b','c'] ,q[10] = {'a','h','c'} prinff( "% d % d\n" , strlen (p) , strlen (q) );以下叙述中正确的是( )。
A.在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3
B.由于P数组中没有字符串结束符,长度不能确定;q数组中字符串长度为3
C.由于q数组中没有字符串结束符,长度不能确定;p数组中字符长度为3
D.由于p和q数组中没有字符串结束符,故长度都不能确定
第18题:
设有两个串P和q,求q在P中首次出现的位置的运算称作______。
A.连接
B.模式匹配
C.求子串
D.求串长
第19题:
设有两个串p和q,求q在p中首次出现的位置的运算称为()。
第20题:
设有两个串p和q,求q在p中首次出现的位置的运算称为()
第21题:
数据结构里,设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()。
第22题:
非串谋时,P1=P2=3.6,Q1=Q2=10.8
串谋时,P1=P2=3.6,Q1=Q2=10.8
非串谋时,P1=P2=4.5;Q1=Q2=9
串谋时,P1=P2=4.5;Q1=Q2=10.8
第23题:
第24题:
求子串
模式匹配
串替换
串连接