程式設計師成長之旅 C語言旋轉字元函式實現

2021-09-24 18:54:59 字數 1970 閱讀 1821

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

abcd左旋乙個字元得到bcda

abcd左旋兩個字元得到cdab

採用迴圈移位,對需要旋轉的k個字元按順序進行旋轉,先將要旋轉的乙個字元儲存起來,將後面的往前挪動一位,再將儲存起來的這個字元賦給最後一位,這樣連續迴圈k次。

#include

#include

#include

void

left_remove

(char

* p,

int n,

int len)

//memmove(p, p + 1, len - 1);這裡也可以用memmove替換掉裡面的for迴圈

p[len -1]

= tmp;}}

intmain()

else

}left_remove

(p, n, len)

;printf

("旋轉後:%s\n"

俗稱三步旋轉法:

先將要左旋的字元進行旋轉,再將未左旋的字元進行旋轉,最後所有字元進行旋轉,即得到所需字元。比如 abcd 要將 ab 字元旋轉 得到的應該是:cdab 按照上面所說的即為 bacd->badc->cdab不難看出來所得是一樣的。

#include

#include

#include

void

reserve

(char

* left,

char

* right)

}void

left_remove

(char

* p,

int n,

int len)

intmain()

else

}left_remove

(p, n, len)

;printf

("旋轉後:%s\n"

指標實現

#include

#include

#include

void

left_remove

(char arr,

int n)

;char

* mov1 = arr;

char

* mov2 = arr;

char

* res1 = arr1;

char

* res2 = arr1;

while

(n--

)while

(*mov2)

while

(*mov1)

}int

main()

else

}left_remove

(p, n)

;printf

("旋轉後:%s\n"

程式設計師成長之旅 C語言分支迴圈語句(初階)

分支語句 選擇結構 迴圈語句 for迴圈 goto語句 分支語句 迴圈語句 什麼是語句?c語言中用乙個 隔開的就是乙個語句 printf hello sum a b 如果你不好好學習,你將找不到工作。這就是選擇!if語句 if 表示式 語句 if 表示式 語句1 else 語句2 多分支 if 表示...

程式設計師成長之旅 C語言自定義型別

列舉聯合 特點結構體型別的建立 首先要知道結構體是什麼?這樣才可以建立乙個結構體。舉個例子 struct stu 分號一定要有 特殊的結構體的建立 struct x struct a 10 p 上面兩種結構體建立宣告時,省略了標籤tag,也就是struct後面的東西。那麼可以直接用p x嗎?警告 編...

程式設計師成長之旅 順序表

執行效果 靜態順序表是只適用於我們已經了解到需要存多少資料,而一般我們都是用動態順序表,下面我給大家展示一下我所實現的動態順序表的 seqlist.h define crt secure no warnings 1 pragma once include include include includ...