I - 验证子串
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入格式
输入两个字符串, 每个字符串占一行,长度不超过 200200 且不含空格。
输出格式
若第一个串 s1是第二个串 s2 的子串,则输出"(s1) is substring of (s2)";
否则,若第二个串 s2是第一个串s1的子串,输出"(s2) is substring of (s1)";
否则,输出"No substring"。
Sample Input
abc
dddncabca
Sample Output
abc is substring of dddncabca
#include <stdio.h>
#include<string.h>//这里用到一个特定的函数是Strstr函数
//这个函数是专门用来查找子串的一种函数
/*
若查找到,则返回查找到的首字母的地址,否则返回null*/
char *search(char *s, char *t);
int main()
{
char s[201], t[201], *pos;
gets(s);
gets(t);
int flag=0;
if(strlen(s)>strlen(t))
{
pos=search(s,t);
if(pos!=NULL)
{
printf("%s is substring of %s",t,s);
flag=1;
}
}
if(strlen(s)<strlen(t))
{
pos=search(t,s);
if(pos!=NULL)
{
printf("%s is substring of %s",s,t);
flag=1;
}
}
if(flag==0)
printf("No substring");
return 0;
}
char *search( char *s, char *t )
{
char *p;
p=strstr(s,t);
if(p)
return p;
else
return NULL;
}