程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言-->>左旋字符串

C語言-->>左旋字符串

編輯:關於C語言

C語言-->>左旋字符串


問題描述:             假設有字符串:                    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;
}

 

結果:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved