实现一个函数,可以左旋字符串中的k个字符

0人阅读 评论(0) 收藏 举报
分类:

实现一个函数,可以左旋字符串中的k个字符。
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
下面给出两种不同的方法:

#include<stdio.h>
#include<stdlib.h>
void swap(char arr[],int z,int k)
{
    int s = k;
    for (int i = 0; i < k; i++)
    {

        char t = arr[i];
        arr[i] = arr[z - 1 - s];
        arr[z - 1 - s] = t;
        s--;
    }
}
int main()
{
    char arr[] = "ABCD";
    int z = sizeof(arr) / sizeof(arr[0]);
    int k;
    printf("请输入要左旋的字符个数:");
    scanf("%d", &k);
    swap(arr, z, k);
    printf("旋转后的结果为:");
    for (int j = 0; j < z-1; j++)
    {
        printf("%c", arr[j]);
    }
    system("pause");
    return 0;
}

上面这种方法是这里写图片描述

#include<stdio.h>
int  len(char arr[])
{
    int i;
    for ( i = 0; arr[i] != '\0'; i++)
        ;
    return i;
}
void reverse(char *p, char *q)
{
    while (p < q)
    {
        char t = *p;
        *p = *q;
        *q = t;
        p++;
        q--;
    }
}
void turn(char arr[], int n)
{
    reverse(arr, arr + n - 1);
    reverse(arr + n, arr + len(arr) - 1);
    reverse(arr, arr + len(arr) - 1);
}
int main()
{
    char arr[] = "abcdef";
    turn(arr, 1);
    printf("%s", arr);
    system("pause");
    return 0;
}

这种方法比较巧妙的运用了一些规律:

这里写图片描述

查看评论

彻底掌握 Javascript(七)字符串【专家辅导】

javascript 字符串是最重要的类型,掌握它的重要性不亚于函数,本套课程,通过实战讲解了,字符串的字面量多种写法、统一码转换、加密解密字符串实战和相关函数使用。
  • 2017年06月30日 19:43

.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA

1.实现一个函数,可以左旋字符串中的k个字符。 AABCD左旋一个字符得到ABCDA AABCD左旋两个字符得到BCDAA 方法一: 算法思想:用移的步数作为while循环条件(每移1位完了减...
  • lyl194458
  • lyl194458
  • 2016-12-11 16:17:08
  • 347

1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

1.实现一个函数,可以左旋字符串中的k个字符。  ABCD左旋一个字符得到BCDA  ABCD左旋两个字符得到CDAB 方法1 将字符串第一个的字符先复制一份,然后依次将字符串向左移动一位...
  • zlb1051
  • zlb1051
  • 2017-11-05 22:18:29
  • 208

实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

#include #include void left_move(char *p, int num) { int i = 0; for (i = 0; i < num; i...
  • lhy553529
  • lhy553529
  • 2017-01-05 16:17:58
  • 219

实现一个函数,可以左旋字符串中K个字符

实现一个函数,可以左旋字符串中K个字符 例如 abcdefgh 左旋2个字符  cdefghab 利用3次旋转达到我们的目的  首先把要旋转的K个字符逆序得到bacdefgh 然后把剩余的字符...
  • Cell_KEY
  • Cell_KEY
  • 2016-04-18 20:56:44
  • 206

实现一个函数,可以左旋字符串中的k个字符.ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

实现一个函数,可以左旋字符串中的k个字符.ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB...
  • triorwy
  • triorwy
  • 2018-02-20 18:04:22
  • 61

实现一个函数,可以左旋字符串中的k个字符。

1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB #include #include void left_move(cha...
  • kai29
  • kai29
  • 2017-11-01 20:56:35
  • 297

.实现一个函数,可以左旋字符串中的k个字符。

2.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 下面看一下实现方法:...
  • FangXiaXin
  • FangXiaXin
  • 2017-04-19 21:32:01
  • 122

【Ex.】实现一个函数,可以左旋字符串中的k个字符

左旋字符串中的K个字符
  • qq_36474990
  • qq_36474990
  • 2017-07-28 13:58:37
  • 76

编写一个函数,可以实现左旋字符串中的k个字符。

实现一个函数,可以左旋字符串中的k个字符。 #include #include void shiftstep(char *msg, int step) { assert(msg);...
  • agate_zhang
  • agate_zhang
  • 2016-12-11 15:10:24
  • 208
    个人资料
    等级:
    访问量: 161
    积分: 130
    排名: 117万+
    文章分类
    文章存档