實現一個函式, 可以左旋字串中的k個字元
阿新 • • 發佈:2018-12-30
**
實現一個函式,可以左旋字串中的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;
}