⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gc_8_9.c

📁 gc:高级程序员考试用书的c程序源文件
💻 C
字号:
# include <stdio.h>
# include <string.h>
int commStr(char *str1,char *str2,int *lenpt)
/*函数返回最长公共子串的个数,通过指针参数传回最长公共子串的长度*/
{
	int len1,len2,ln,count,i,k,p;
	char *st;
	if((len1 = strlen(str1)) < (len2= strlen(str2))) {
		st = str1; str1= str2;  str2 = st;
		ln = len1; len1= len2; len2 = ln;
	}
	count = 0;
	for(ln = len2; ln>0; ln--) {
		/*找长为ln的公共子串*/
		for(k = 0; k+ln<=len2;k++) {
			/*自str2[k]开始的长 为ln的子串和str1中的子串比较*/
			for(p=0;p+ln<=len1;p++) {
				/*str1中的子串自str1[p]开始,两子串比较通过对应字符逐一比较实现*/
				for(i=0;i<ln;i++)
					if(str2[k+i] != str1[p+i]) break;
				if(i==ln)                  /*找到一个最长公共子串*/
					count++;
			}
		}
		if(count) break;
	}
	*lenpt = ln;
	return count;
}

void main()
{
	int c,len;
	c = commStr("Abc1AbcsAbcd123","123bAbc",&len);
	printf("有%d个长为%d的公共子串\n",c,len);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -