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

2021-09-24 18:05:09 字數 847 閱讀 5483

#include #include #include #include #pragma warning (disable:4996)

//思路  先將要旋轉的字元進行逆置,然後對剩下的字元進行逆置,最後對整體進行逆置

void reverse(char *left,char *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 );

}void right_move(char *str, int k, int len)    //右旋2位相當於左旋4位  所以用len減去左旋的位數即是右旋的位數

reverse(str, str +len- k - 1);

reverse(str +len- k, str + len - 1);

reverse(str, str + len - 1);

}int main()

; int i = 0;

int len = sizeof(arr) / sizeof(arr[0])-1;  //寫的時候錯誤將'\0'給算進去了,所以在交換的時候『\0』將字元隔斷,最後只輸出一段字元

printf("請輸入左旋幾個字元: ");

scanf("%d", &i);

left_move(arr,i,len);

printf("旋轉後的字元:%s \n",arr);

system("pause");

return 0;

}

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

c語言 實現乙個函式,可以左旋字串中的k個字元。例如 abcd左旋乙個字元得到bcda abcd左旋兩個字元得到cdab 思路一 常規思路很簡單,很容易想出來,以左旋乙個字元為例,建立乙個變數tmp將字串的第乙個字元賦給tmp,然後將字串所有的字元往前移一位比如移動之前是abcd,移動之後就是bcd...

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

實現乙個函式,可以左旋字串中的k個字元 例如 aabcd左旋乙個字元得到abcda aabcd左旋兩個字元得到bcdaa 方法 1 採用迴圈移位,對需要旋轉的k個字元按順序進行旋轉,先將要旋轉的乙個字元儲存起來,將後面的往前挪動一位,再將儲存起來的這個字元賦給最後一位,這樣連續迴圈k次,就可以完成了...

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

實現乙個函式,可以左旋字串中的k個字元。aabcd左旋乙個字元得到abcda aabcd左旋兩個字元得到bcdaa 1 可以通過字串互換,每左旋一次,字串第乙個移到最後乙個,其餘字元整體向前移動一位。如下 include include includevoid reverse char str,in...