网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

三种方法实现一个函数,可以左旋字符串中的k个字符-创新互联

例如:abcd左旋一个字符得到bcda,abcd左旋两个字符得到cdab
1.数组下标法

创新互联从2013年创立,先为抚松等服务建站,抚松等地企业,进行企业商务咨询服务。为抚松企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
#include
#include

void left_handed(char *str, int k)
{
    int i;
    int count = 0;
    char temp;
   while (count < k)
    {
        temp = str[0];
        for (i = 0; i < strlen(str)-1; i++)
        {
            str[i] = str[i + 1];//所有字符左移一位
        }
        count++;
        str[strlen(str) - 1] = temp;
    }
}
int main()
{
    int k=0;
    char str[] = "abcdef";
    printf("输入需要左旋多少个字符:\n");
    scanf("%d",&k);
    left_handed(str,k);
    printf("%s",&str);
    return 0;
}

2.指针法

#include

void left_move(char *str, int k)
{
   while (k--)//相当于k!=0
    {
        char *cur = str;//定义一个指针,存储字符串首地址
        char tmp=*cur;
       while ((*(cur+1)) != '\0')
        {
            *cur = *(cur + 1);//字符串左移一位
            cur++;
        }
        *(cur) = tmp;
    }
}
int main()
{
    char str[] = "abcd";
    int k = 0;
    printf("请输入左移位数:\n");
    scanf("%d",&k);
    left_move(str, k);
    printf("%s",str);
    return 0;
}

3.指针==》逆序法

#include
#include

void Reverse(char *left, char *right)//逆序函数
{
   while (left < right)
    {
        char tmp = *left;
        *left = *right;
        *right = tmp;
        left++;
        right--;
    }
}
void left_move(char *str, int k, int len)//左旋函数
{
    char *left = str;
    char *right = str+len - 1;
    if (k<0 || k>len)
    {
        printf("不合法!\n");
    }
    else
    {
        Reverse(left, str+k-1);//地址,需要逆序的左右位置
        Reverse(str+k , right);
        Reverse(left, right);
    }
}
int main()
{
    int k;
    printf("请输入左移位数:\n");
    scanf("%d",&k);
    char str[] = "abcd";
    int len = strlen(str);
    left_move(str,k,len);
    printf("%s",str);
    return 0;
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:三种方法实现一个函数,可以左旋字符串中的k个字符-创新互联
网页路径:http://bjjierui.cn/article/cdghss.html

其他资讯