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