分页:
[1] 2 3 4 5 6 7 8 9 10 下一页 后10页
试题1
阅读以下程序说明和 C 程序,将应填人__(n)__处的字句,写在答卷的对应栏内。
[程序说明]
函数 int commstr(char *str1,char *str2,int *sublen) 从两已知字符串 Strl 和 Str2
中,找出它们的所有最长的公共子串。如果最长公共子串不止 1个,函数将把它们全部找出,并输
出。约定空串不作为公共子串。
函数将最长公共子串的长度送入由参数 sublen 所指的变量中,并返回字符串 str1 和 stf2
的最长公共子串的个数。如果字符串 strl 和 str2 没有公共子串,约定最长公共子串的个数和最
长公共子串的长度均为 0 。
[程序]
int strlen(char *s)
{ char * t = s;
while (*t++);
return t-s-1;
}
int commstr(char *str1,char *str2, int *sublen)
{ char*sl,*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--) /* 从可能最长子串开始寻找 */
分页:
[1] 2 3 4 5 6 7 8 9 10 下一页 后10页