题目描述
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入格式
两行,每行一个字符串。
输出格式
若第一个串 s1 是第二个串 s2 的子串,则输出(s1) is substring of (s2);
否则,若第二个串 s2 是第一个串 s1 的子串,输出(s2) is substring of (s1);
否则,输出 No substring。
输入输出样例
输入 #1复制
abc dddncabca
输出 #1复制
abc is substring of dddncabca
输入 #2复制
aaa bbb
输出 #2复制
No substring
说明/提示
对于 100% 的数据,字符串长度在 30 以内。
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
char s1[50],s2[50];
int n,m;
cin>>s1;
cin>>s2;
n=strlen(s1);
m=strlen(s2);
int s=0;
int f=0;
if(m>n){
for(int i=0;i<=m-n;i++){
s=0;
for(int j=0;j<n;j++){
if(s1[j]==s2[i+j]){
s++;
}
else{
break;
}
}
if(s==n){
f=1;
break;
}
}
if(f==1){
cout<<s1<<" is substring of "<<s2;
}
else{
cout<<"No substring";
}
}
else{
for(int i=0;i<=n-m;i++){
s=0;
for(int j=0;j<m;j++){
if(s1[i+j]==s2[j]){
s++;
}
else{
break;
}
}
if(s==m){
f=1;
break;
}
}
if(f==1){
cout<<s2<<" is substring of "<<s1;
}
else{
cout<<"No substring";
}
}
return 0;
}
412

被折叠的 条评论
为什么被折叠?



