题目
输入一个字符串,每个字符循环向右移动一位,判断移动后能否与所输入的第二个字符串相匹配
输入说明
anhui
huian
输出说明
Yes
总结
当时用的while循环,导致不好结束,其实长为len的字符串最多经过len次就会恢复到最初状态,也就是说用for循环len次就可以了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char s1[1000];
char s2[1000];
int i;
int j;
gets(s1);
gets(s2);
int len1 = strlen(s1);
int len2 = strlen(s2);
//最多循环len次,恢复原来状态
for(i=0; i<len1; i++)
{
char tmp = s1[len1-1];
for(j=len1-2; j>=0; j--)
s1[j+1] = s1[j];
s1[0] = tmp;
if(strcmp(s1,s2)==0)
{
printf("Yes\n");
break;
}
else
continue;
}
if(strcmp(s1,s2)!=0)
printf("No\n");
return 0;
}
网友评论