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

4人阅读 评论(0) 收藏 举报

左旋n位字符之方法一:运用两次循环

#include<stdio.h>

void Left_Move (char*p,int n)
{   
int i=0;
int len=strlen(p);
for(i=0;i<n;i++)
{   int j=0;
char tmp=p[0];
for(j=0;j<len-1;j++)
{
p[j]=p[j+1];
}
p[len-1]=tmp;
}
}
int main()
{
char arr[]="abcdef";
int n=0;
printf("请输入你想要左旋的字符数\n");
scanf("%d",&n);
Left_Move(arr,n);
printf("左旋n个字符后的字符串为:%s\n",arr);
return 0;

}

二.左旋n个字符之方法二:效率高,实现了两个函数,运用三次逆序实现左旋:1.对要左旋的n位字符进行逆序  2.对剩下的字符进行逆序  3.对逆序之后的字符串再进行一次逆序即可达到左旋

#include<stdio.h>
void reverse(char *left,char *right)
{
while(left<right)
{
char tmp;
tmp=*left;
*left=*right;
*right=tmp;
left++;
right--;
}
}
void Left_Move(char *p,int n)
{
int len=strlen(p);
reverse(p,p+n-1);
reverse(p+n,p+len-1);
reverse(p,p+len-1);
}
int main()
{
int n=0;
char arr[]="abcdef";
printf("请输入你想要左旋的位数:\n");
scanf("%d",&n);
Left_Move(arr,n);
printf("左旋之后的字符串为:%s\n",arr);
}

查看评论

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

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

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

实现一个函数,可以左旋字符串中的k个字符例如:AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAA方法(1):采用循环移位,对需要旋转的k个字符按顺序进行旋转,先将要旋转的一个字符...
  • Stand__out
  • Stand__out
  • 2016-06-02 10:45:02
  • 677

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

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

实现一个函数,可以左旋字符串中的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
  • 60

左旋字符串的三种实现

左旋字符串是许多公司面试官喜欢问到的问题,那么这片博文就是要讲一下左旋字符串的实现以及《剑指offer》里面是怎样解决这个问题。    一.先看看一道面试题    eg:输入一个英语句子,翻转句子中单...
  • litter_driver777
  • litter_driver777
  • 2016-06-11 14:05:31
  • 419

C语言:有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串

题目:C语言:有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串...
  • u010703975
  • u010703975
  • 2015-04-07 11:14:58
  • 5066

c语言有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串

#include #include int copy(char *p1,char *p2,int m); int main() { char str1[40],str2[40]; printf(...
  • w3071206219
  • w3071206219
  • 2016-09-22 15:04:49
  • 6043

有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部复制成为另一个字符串。

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 ...
  • liubinzi123
  • liubinzi123
  • 2012-12-05 19:11:12
  • 22409
    个人资料
    等级:
    访问量: 31
    积分: 31
    排名: 202万+
    文章分类
    文章存档