求字符串的最大公共长度,不区分大小写;
例如:str1:adfgh
str2:ghjadfgh
输出:5
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int getCommonStrLength(char * pFirstStr, char * pSecondStr)
{
int len1=0,len2=0,pos,i=0,j=0,k,maxlen=0,len;
len1=strlen(pFirstStr);
len2=strlen(pSecondStr);
for(i=0;i<len1;i++)
{
if(pFirstStr[i]>='A'&&pFirstStr[i]<='Z')
pFirstStr[i]=pFirstStr[i]+32;
}
for(i=0;i<len2;i++)
{
if(pSecondStr[i]>='A'&&pSecondStr[i]<='Z')
pSecondStr[i]=pSecondStr[i]+32;
}
i=0;
while(i<len1)
{
j=0;
while(j<len2)
{
if(pFirstStr[i]==pSecondStr[j])
{
len=1;
for(k=1;k+i<len1&&k+j<len2&&pFirstStr[k+i]==pSecondStr[k+j];k++,len++);
if(len>maxlen)
{
pos=i;
maxlen=len;
}
}
j++;
}
i++;
}
return maxlen;
}
void main()
{
char *s, *t;
int n;
s=(char*)malloc(sizeof(char)*128);
t=(char*)malloc(sizeof(char)*128);
scanf("%s",s);
scanf("%s",t);
n=getCommonStrLength(s,t);
free(s);
free(t);
printf("%d",n);
}