2017-12-24

来源:互联网 发布:电商crm软件 编辑:程序博客网 时间:2024/06/07 07:05

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

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>#include<windows.h>void revolve( char arr[],int n,int sz){    int i = 0;    int j = 0;    for (i = 0;i < n;i++)    {        arr[sz+i] = arr[i];    }        for (j = i ;j <= sz+i ;j++)        {            arr[j-i] = arr[j];        }}int main() {//实现一个函数,可以左旋字符串中的k个字符。//      ABCD左旋一个字符得到BCDA//      ABCD左旋两个字符得到CDAB    char arr[50] = "abcd";    int sz = strlen(arr);    int n = 0;    printf("请输入你要左旋字符的长度:\n");    scanf("%d", &n);    revolve(arr,n,sz);    for (n = 0;n < sz;n++)    {        printf("%c", arr[n]);    }    system("pause");    return 0;}

2.判断一个字符串是否为另外一个字符串旋转之后的字符串。
例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1=abcd和s2=ACBD,返回0.