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

2021-09-29 13:01:20 字數 994 閱讀 9501

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

例如:abcd左旋乙個字元得到bcdaabcd左旋兩個字元得到cdab

首先分析題目,先分析abcd左旋乙個字元如何得到bcda.我們可以看作字元『a』與下乙個字元進行了三次位置交換。如圖:

那麼將左旋一次的字串bcda的第乙個字元與下乙個字元交換位置得到字串cdab如圖:

可以發現左旋k個字串,其實是將左乙個字串迴圈k次。

所以本題核心是實現左旋乙個字串。

核心**:

while

(count)

//count用來控制進行幾次交換位置

然後用while()實現核心**的外圍迴圈即可,全部**如下:

#include

void

leftrevolve

(char str,

int num,

int i)

p = str;

q = str+1;

count = num;

i--;}

printf

("%s"

,str);}

intmain()

執行結果:

習題 實現乙個函式,可以左旋字串中的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...