http://acm.pku.edu.cn/JudgeOnline/problem?id=1226注意几点: 1.对字符串复制使用strcpy和strncpy 2.strstr 查找子串; 3.strrev对字符串反序 4.strncpy后要在末尾加上'\0' 5.二维数组放在全局位置
#include"stdio.h"
#include"string.h"

int n;
char str[100][100];
int searchMaxSubString(char * source)


{
int subStrLen=strlen(source),sourceStrLen=strlen(source);
int i,j;
bool foundMaxSubStr;
char subStr[101],revSubStr[101];

while(subStrLen>0)

{
for(i=0;i<=sourceStrLen-subStrLen;i++)

{
strncpy(subStr,source+i,subStrLen);
strncpy(revSubStr,source+i,subStrLen);
subStr[subStrLen]=revSubStr[subStrLen]='\0';
strrev(revSubStr);
foundMaxSubStr=true;
for(j=0;j<n;j++)

if(strstr(str[j],subStr)==NULL&&strstr(str[j],revSubStr)==NULL)
{foundMaxSubStr=false;break;}
if(foundMaxSubStr) return subStrLen;

}
subStrLen--;
}
return 0;
}

void main()


{
int i,nCase,minStrLen,subStrLen;
char minStr[101];
scanf("%d",&nCase);
while(nCase--)

{

scanf("%d",&n);
minStrLen=101;
for(i=0;i<n;i++)

{
scanf("%s",str[i]);

if(strlen(str[i])<minStrLen)
{strcpy(minStr,str[i]);minStrLen=strlen(minStr);}

}
printf("%d\n",searchMaxSubString(minStr));
}
}