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

📄 commonstr.cpp

📁 学习c++的ppt
💻 CPP
字号:
#include <iostream.h>
#include <string.h>

char * substr(char *src, int start, int count)  
{   int i, mx = strlen(src);
    static char str[50];
	char * temp = str;
	for(i=start; i <= start+count-1 && i < mx; i ++)
		* temp ++ = src[i];
	* temp = '\0';
	return str;
}

bool instr(char *src, char *subss)  
{   int i, j, xs = strlen(src), ms = strlen(subss);
    bool aa;

    for(i = 0; i < xs; i ++)  {
		aa = true;
		for(j = 0; j < ms; j ++)
			if(subss[j] != src[i + j] || src[i+j] == '\0')  {
				aa = false;
				break;
			}
		if(aa) return true;
	}
	return false;
}

main()
{   char *a[] = {"What is good local bus ? ",
                 "Name good some local bus",
				 "A good local bus is high speed I/O bus close to the processor." };
    char *ch, maxstr[50];
	int m, i, j, maxlen = 0;

	m = strlen(a[0]);
	for(i = 0; i < m; i ++)  {
		for(j = 1; j <= m - i; j ++)  {
			ch = substr(a[0], i, j);
			if(instr(a[1], ch) && instr(a[2], ch))  {
				if(strlen(ch) > maxlen)  {
					maxlen = strlen(ch);
					strcpy(maxstr, ch);
				}
			}
		}
	}
	if(maxlen > 0) cout << "最长公共字串是:[ " << maxstr << " ]" << endl;
	else cout << "找不到公共字串 !" << endl;
}

⌨️ 快捷键说明

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