判断其中一个字符串是否为另外一个字符串移位后得到的子串,其实就是先将长度较长的字符串作为母串,将长度较短的字符串作为子串,然后将两个母串进行拼接为新的字符串,再判断子串是否是新的字符串的子串即可。
如果是需要截取以空格为分割的字符串,那么就使用scanf;如果是需要一行一行的读取字符串,那么就使用fgets;
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char s1[31];
char s2[31];
char s[31]; //临时存放
char a[62];
int main() {
scanf("%s %s",s1,s2);
if(strlen(s1)<strlen(s2)) //s1作为母串
{
strcpy(s,s1);
strcpy(s1,s2);
strcpy(s2,s);
}
strcpy(a,s1); //一个s1
strcat(a,s1); //两个s1
if(strstr(a,s2)==NULL)
cout<<"false"<<endl;
else
cout<<"true"<<endl;
return 0;
}