第一反应就是字符串匹配,当时头都大了。
其实可以用循环,尽管经常把自己绕晕。
#include<stdio.h>
#include<string.h>
int solve(char str1[],int len1,char str2[],int len2)
{
int i,j;
for( i=0;i<len1;i++)
{
for( j=0;j<len2;j++)
{
if(str1[(i+j)%len1]!=str2[j])
break;
}
if(j==len2)
return 1;
}
return 0;
}
int main()
{
char str1[40],str2[40];
scanf("%s %s",str1,str2);
int len1=strlen(str1);
int len2=strlen(str2);
int ans;
if(len1>len2) ans = solve(str1,len1,str2,len2);
else ans =solve(str2,len2,str1,len1);
if(ans==1 ) printf("true
");
else printf("false
");
return 0;
}