美文网首页
字符循环右移

字符循环右移

作者: Co_zy | 来源:发表于2018-07-31 22:25 被阅读0次

题目

输入一个字符串,每个字符循环向右移动一位,判断移动后能否与所输入的第二个字符串相匹配

输入说明

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;
}

相关文章

  • 字符循环右移

    题目 输入一个字符串,每个字符循环向右移动一位,判断移动后能否与所输入的第二个字符串相匹配 输入说明 输出说明 总...

  • c语言字符串循环右移

    函数功能:将输入字符串 src循环右移n位 result为输出结果 要求:以效率最高的方式实现 示例: “abcd...

  • 字符串循环右移的结果

    题目: 思路: 把[0,k-1]位置和[k,arr.length-1]位置的字符串逆序,再把整体逆序即为最后结果 代码:

  • 数组循环右移

    //n 是最大的个数 m 是移动的位数void circle(int arr[], int n, int m){...

  • 杂耍循环右移

  • leetcode_925长按键入

    双指针,name和typed相同字符则一起向右移动,每次如果typed的字符重复则typed右移,name不动,n...

  • 数组元素循环右移

    将一个int[]型数组右移k位,要求最小的空间占用。 一个数组A中存有N(N>0)个数, 在不允许使用任何另外数组...

  • ideavim vim 快捷设置

    移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移...

  • Emacs基本操作及应用

    一、Emacs最基本操作 Ctrl-f 右移一个字符 Ctrl-b 左移一个字符 Alt-f 右移...

  • 8086/8088 移位指令解释

    目录 非循环移位1.1 逻辑左移——SHL1.2 逻辑右移——SHR1.3 算术左移——SAL1.4 算术右移——...

网友评论

      本文标题:字符循环右移

      本文链接:https://www.haomeiwen.com/subject/wwykvftx.html