實現一個函式,可以左旋字串中的k個字元。 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB
阿新 • • 發佈:2018-12-20
實現一個函式,可以左旋字串中的k個字元。 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB
左旋 ABCD-----> B---->1 C----->1 D----->1
程式實現
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void left_rotate(char * str, int k){ char temp = 0; char* cur = str; while (k--){ //左旋一次 temp = *str; cur = str; while (*(cur + 1) != '\0'){ //每個字元向前挪動一次 *cur = *(cur + 1); cur++; } *cur = temp; } } int main(){ char str[100]; int k = 0; printf("請輸入要旋轉的字串:\n"); scanf("%s", &str); printf("請輸入要選擇的次數: \n"); scanf("%d", &k); left_rotate(str,k); printf("%s\n", str); system("pause"); return 0; }