1. 程式人生 > >實現一個函式, 可以左旋字串中的k個字元

實現一個函式, 可以左旋字串中的k個字元

**
實現一個函式,可以左旋字串中的k個字元。
ABCD左旋一個字元得到BCDA
ABCD左旋兩個字元得到CDAB
**

#include <stdio.h>                                                                                                      
#include <string.h>
//左旋字串中的 k 個字元
void Rotate(char* s, int k) {
  int len = strlen(s);
  char* p;
  char
* q; for (p = s + k - 1; p >= s; --p) { for ( q = p; q < p + len - k; ++q) { char tmp = *q; *q = *(q + 1); *(q + 1) = tmp; } } } int main() { char string[30]; scanf("%s", string); int k = 0; printf("請輸入你要旋轉的字元個數:"); scanf("%d", &k); if (k > (int)strlen
(string)) { printf("輸入有誤\n"); } Rotate(string, k); printf("%s\n", string); return 0; }