题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-10-29 19:49:34

[单项选择]若字符串s的长度为n(n>1),且其中的字符互不相同,则s的长度为2的子串有()个。
A. n
B. n-1
C. n-2
D. 2

更多"若字符串s的长度为n(n>1),且其中的字符互不相同,则s的长度为2的"的相关试题:

[填空题]下列程序能将字符串s1中的所有与字符串str1相同的子串替换成字符串sb2,并将替换后的新串存于字符数组s2中。
#include<stdio. h>
void replace(s1,s2,str1,str2)
char *s1,*s2,*str1,*str2;
char *t0,*t1,*t2,*x,*y;
x=s1;y=s2;
while( 【8】 )

for(t0=s1,t1=str1; ((*t1!=’/O’&& 【9】 ;t0++,t1++);
if(*t1!=’/0’) *s2++= 【10】 ;
else
for(t1=str2;*t1!=’/0’;) *s2++= 【11】 ;
【12】 ;


*s2=’/0’;

main ( )
static char s1[]="abcdef ababcd abab.",s2125];
replace (s1, s2, "abc", "XYZ");
printf("%s/n",s2);

[单项选择]设S是一个长度为5的字符串,其中的字符各不相同,则计算S中互异的非平凡子串(非空且不同于S本身)数目的算式为()
A. 5+4+3+2+1
B. 5+4+3+2
C. 4+3+2+1+1
D. 4+3+2+1
[填空题]字符串"sgabacbadfgbacst"中存在有______个与字符串"ba"相同的子串。
[单项选择]字符串“computer”中长度为3的子串有()个。
A. 4
B. 5
C. 6
D. 7
[单项选择]对于字符串“software”,其长度为2的子串共有()个。
A. 4
B. 7
C. 28
D. 56
[简答题]【说明】 本程序可以将字符串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); }
[单项选择]

对于求取两个长度为n 的字符串的最长公共子序列(LCS)问题,利用(57 )策略可以有效地避免子串最长公共子序列的重复计算,得到时间复杂度为O(n2)的正确算法。串<1,0,0,1,0,1,0,1>和<0,1,0,1,1,0,1,1>的最长公共子序列的长度为 (58) 。

(57)处填()。
A. 分治
B. 贪心
C. 动态规划
D. 分支-限界
[填空题]已知substr(s,i,len)函数的功能是返回串s中第i个字符开始长度为len的子串,strlen(s)函数的功能是返回串s的长度。若s="ABCDEFGHUK",t="ABCD",执行运算substr(s,strlen(t),strlen(t))后的返回值为______。
[单项选择]要从字符串“中国海南省”中取出子串“海南省”,应该使用函数( )。
A. SUBSTR("中国海南省",3,3)
B. SUBSTR("中国海南省",5,2)
C. SUBSTR("中国海南省",5,3)
D. SUBSTR("中国海南省",5,6)
[简答题]改错题(20分) 【题目】 以下程序的功能是:根据字符串str中是否包含子串substr,决定如何将字符串str1插入到str的不同位置。插入方法是:如果str中包含子串substr,则将str1插入到str中首次出现的子串substr之后;否则,插入到str的尾部。 正确程序的输出如下: 原字符串:aabcd12345 子字符串:abcd 插入字符串:ABC 新字符串:aabcdABC12345 含有错误的源程序如下: #include #include char *find(char *str,char *substr) { unsigned lent=strlen(str); for(char *p1=str,*p2=substr;strlen(p1)>=len;p1++){ for(unsigned i=0;ilen) return p1+len; } return 0; } char *insert(char *str,char *substr,char *str1) { char p=find(str,substr); if(p) strcat(str,str1); else{ char *tmp=new char[strlen(str)+strlen(str1)+1]; strcpy(tmp,str1) strcat(tmp,p); strcpy(p,tmp); delete []tmp; } return str; } void main( ) { char *str=new char[80],substr[]="abcd",str1[]="ABC"; strcpy(str,"aabcdl2345"); ’ cout<<"原字符串:"<<
[单项选择]要从字符串“中国海南省”中取出子串“海南省”,应使用的函数是( )。
A. SUBSTR("中国海南省",3,3)
B. SUBSTR("中国海南省",5,2)
C. SUBSTR("中国海南省",5,3)
D. SUBSTR("中国海南省",5,6)
[单项选择]从字符串S("a b c d e f g")返回子串B("c d")的正确表达式为( )。
A. Mid(S,3,2)
B. Right(Left(S,4),2)
C. Left(Right(S,5),2)
D. 以上都可以
[单项选择]下列能表示字符串s1长度的是
A. s1.length() B) s1.length C) s1.size D) s1.size()
[填空题]在给定程序中,函数fun的功能是:求出形参SS所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长<N。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<string.h>
#define M 5
#define N 20
void fun(char( *ss)[N])
int i,j,k=0,n,m,len;
for(i=0;i<M;i++)
len=strlen(ss[i]);
if(i==0)n=len:
if(len>n)
/**********found**********/
n=len;
(1) =i;


for(i=0;i<M;i++)
if(i!=k)
m=n:
len=strlen(ss[i]);
/***********found***********/
for(j= (2) ;j>=0;j--)ss[i][m--]=ss[i][j];
for(j=0;j<n-len;j++)
/**********found**********/
(3) =’*’:

void main( )
char ss[M][N]="shanghai","guangzhou","beijing","tianjing","cchongqing";
int i;
printf("/nThe original strings are: /n");
for(i=0;i<M;i++)printf("%s/n",ss[i]);
printf("/n");
fun(ss);
printf("/nThe resuh

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码