问题描述:
            假设有字符串:                    ABCDE   
            左旋一个字符得到新字符串   BCDEA
            左旋两个字符得到新字符串   CDEAB
代码实现:
 
#include <stdio.h>
#include <string.h>
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)
{
 reverse(str,str+k-1);
 reverse(str+k,str+len-1);
 reverse(str,str+len-1);
}
int main()
{
 char str[]="ABCDE";/*原字符串:ABCDE*/
 int k=0;
 int len=strlen(str);
 printf("请输入旋转几个字符:");
 scanf("%d",&k);
 while (k>len)
 {
  printf("数字太大,请重新输入:");
  scanf("%d",&k);
 }
 left_move(str,k,len);
 printf("%s\n",str);
 return 0;
}

 

结果: