📄 11.txt
字号:
#include <stdio.h>
#include <string.h>
#define MAXN 20
#define MAXL 256
int n;
int len[MAXN];
char str[MAXN][MAXL];
int match(char *s1,char *s2, int len ) //利用len比较两个串是否相等!
{
while (len--)
{
if (*s1!=*s2) return 0;
s1++;
s2++;
}
return 1;
}
int main()
{
int i,j;
int ans,ansi;
char line[100];
scanf("%d",&n); // 输入个数n
gets(line); //得到""
for (i=0;i<n;i++)
{
gets(str[i]);
}
ans=-1; //ans相等的个数
////////////////////////////////////////////////////////////////////////////////////
for (j=len[0]; ans==-1 && j>0; j--) //以第一行为依据,j是第一个串的长度
for ( i=0; ans==-1 && i+j-1<len[0]; i++ )
{
int flag1=1;
for (int k=1; flag1 && k<n; k++) //从第二行开始进行比较; n表示行数
{
int flag2=0;
for (int s =0; !flag2 && s+j-1<len[k]; s++)
if (match(str[0]+i,str[k]+ s ,j))
flag2=1;
if (!flag2) flag1=0; //flag为假
}
if (flag1)
{
ans=j; //相等的长度
ansi=i; //在第一行中的相等的位置
}
}//for
//////////////////////////////////////////////////////////////////////////////////
if (ans==-1)
puts("No common substrings!");
else
{
for (i=0;i<ans;i++) putchar(str[0][i+ansi]);
putchar('\n');
}
return 1;
}//main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -