一、题目描述
二、题解
关键点:
①scanf读入字符串时得用%s占位符,且必须用字符数组保存,可以用strlen函数获取字符数组当中字符串的长度,前提是引入库<cstring>
②使用find函数判断一个字符串是否包含另一个字符串,前提是两个参数必须都是string,因此得先把字符数组转成string类型(直接转即可)
#include <iostream>
#include <cstring>
using namespace std;
bool judge(char s1[], char s2[], int len1)
{
for(int i = 0; i < len1; i++)
{
char s = s1[0];
for(int j = 0; j < len1 - 1; j++)
{
s1[j] = s1[j + 1];
}
s1[len1 - 1] = s;
string u = s1;
string v = s2;
if(u.find(v)!=string::npos)
{
return true;
}
}
return false;
}
int main()
{
int n;
scanf("%d", &n);
while(n--)
{
char s1[110];
char s2[110];
scanf("%s", s1);
scanf("%s", s2);
if(judge(s1, s2, strlen(s1)))
{
printf("True\n");
}
else
{
printf("False\n");
}
}
}