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