选择题:●试题五 阅读以下程序说明和C程序,将应填入(n)处的子句,写在答卷纸的对应栏内。 【程序说明】 函

  • 题目分类:软考初级
  • 题目类型:选择题
  • 查看权限:VIP
题目内容:
●试题五

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

}




参考答案:

●试题二 请回答以下关于Internet的问题1~5,把答案填到答题纸的对应栏内。 [问题1] Internet的

●试题二 请回答以下关于Internet的问题1~5,把答案填到答题纸的对应栏内。 [问题1] Internet的

查看答案

●试题三 以下是ASP与数据库应用的典型例子,阅读后请补充 (1) ~ (5) 空缺的内容。 一个真正的、完

●试题三 以下是ASP与数据库应用的典型例子,阅读后请补充 (1) ~ (5) 空缺的内容。 一个真正的、完

查看答案

●试题六 阅读以下说明和Java代码,将解答写入答题纸的对应栏内。 【说明】 下面是一个Applet程序,

●试题六 阅读以下说明和Java代码,将解答写入答题纸的对应栏内。 【说明】 下面是一个Applet程序,

查看答案

●试题四 阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在答题纸

●试题四 阅读下列说明和HTML文本,分析其中嵌入的JavaScript脚本,将应填入(n)处的语句写在答题纸

查看答案

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

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

查看答案