题目详情

阅读以下说明和C函数,将解答填入答题纸的对应栏内。

【说明】

函数del_substr(S,T)的功能是从头至尾扫描字符串S,删除其中与字符串T相同的所有子串,其处理过程为:首先从串S的第一个字符开始查找子串T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型SString定义如下:

typedef struct{

char *ch; /*串空间的首地址*/

int length; /*串长*/

}SString;

【C函数】

void del substr(SString*S, SString T)

int i, j;

if(S->length<1||T.length<1||S->length<T.length)

return;

i=0; /* i为串S中字符的下标 */

for(;;){

j=0; /* j为串T中字符的下标 */

while(i<S->length&&j<T.length){ /* 在串S中查找与T相同的子串 */

if(S->ch[i]==T.ch[j]){

i++; j++;

}

else{

i= (1) ; j=0; /* i值回退,为继续查找T做准备 */

if( (2) ){ /* 在S中找到与T相同的子串 */

i= (3) ; /* 计算S中子串T的起始下标 */

for(k=i+T.length; k<S->length; k++) /* 通过覆盖子串T进行删除 */

S->ch[ (4) ]=S->ch[k];

S->length= (5) ; /* 更新S的长度*/

else break; /* 串S中不存在子串T */

正确答案及解析

正确答案
解析

初级程序员,章节练习,初级程序员真题卷

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +