验证子串
题目描述
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入格式
两行,每行一个字符串。
输出格式
若第一个串
s
1
s_1
s1 是第二个串
s
2
s_2
s2 的子串,则输出(s1) is substring of (s2)
;
否则,若第二个串
s
2
s_2
s2 是第一个串
s
1
s_1
s1 的子串,输出(s2) is substring of (s1)
;
否则,输出 No substring
。
样例 #1
样例输入 #1
abc
dddncabca
样例输出 #1
abc is substring of dddncabca
样例 #2
样例输入 #2
aaa
bbb
样例输出 #2
No substring
提示
对于 100 % 100 \% 100% 的数据,字符串长度在 20 20 20 以内。
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<stdbool.h>
int main(){//暴力匹配
char str[50],str1[50];
int n1,n2,i,j,sum,flag=0;
scanf("%s",str);
scanf("%s",str1);
n1=strlen(str);
n2=strlen(str1);
if(n2>n1){
for(i=0;i<=n2-n1;i++){
sum=0;
for(j=0;j<n1;j++){
if(str[j]==str1[i+j]){
sum++;
}
else{
break;
}
}
if(sum==n1){
flag=1;
break;
}
}
if(flag==1){
printf("%s is substring of %s\n",str,str1);
}
else{
printf("No substring\n");
}
}
else{
for(i=0;i<=n1-n2;i++){
sum=0;
for(j=0;j<n2;j++){
if(str[i+j]==str1[j]){
sum++;
}
else{
break;
}
}
if(sum==n2){
flag=1;
break;
}
}
if(flag==1){
printf("%s is substring of %s\n",str1,str);
}
else{
printf("No substring\n");
}
}
return 0;//csdn:旺旺的碎冰冰~
}