B2118 验证子串
📅 2026/8/2 4:56:38
👁️ 阅读次数
📝 编程学习
题目描述
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入格式
两行,每行一个字符串。
输出格式
若第一个串 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; }
编程学习
技术分享
实战经验