C语言--左旋字符串中的K个字符
程序员文章站
2022-05-13 16:34:49
问题:
3.实现一个函数,可以左旋字符串中的k个字符。
AABCD左旋一个字符得...
问题:
3.实现一个函数,可以左旋字符串中的k个字符。
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
#include<stdio.h> #include<assert.h> #include<string.h> void reserve(char* str, int len) { assert(str); char* start = str; char* end = str + len - 1; while (start < end) { char tmp = *start; *start = *end; *end = tmp; start++; end--; } } void reserve1(char* str, int len, int k) { reserve(str, len);//dcbaa assert(str); char* start = str ; if (k < len) { char* end = str + len - 1 - k; while (start < end) { char tmp = *start; *start = *end; *end = tmp; start++; end--; } } else { printf("输入的字符串个数太大\n"); } } void reserve2(char* str, int len,int s) { assert(str); reserve1(str, len, s);//cdbaa char* start = str+len-s; char* end = str + len - 1; while (start < end) { char tmp = *start; *start = *end; *end = tmp; start++; end--; } } int main(void) { char str[] = "aabcd"; int len = strlen(str); int s; printf("请输入要旋转的字符串个数\n"); scanf_s("%d", &s); reserve2(str, len, s); printf("%s", str); }
上一篇: SqlServer子查询类型实例讲解
下一篇: 朱元璋把孟子赶出文庙,背后原因是什么?
推荐阅读
-
C#算法函数:获取一个字符串中的最大长度的数字
-
在字符串中找出第一个只出现一次的字符。经典C语言例题
-
C语言:判断一个字符串是否为另外一个字符串旋转之后的字符串。
-
C语言使用strcmp()函数比较两个字符串的实现
-
C语言:字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。
-
C语言--左旋字符串中的K个字符
-
C语言:实现一个函数,可以左旋字符串中的k个字符。
-
c语言:判断一个字符串中是否含有字符C
-
Linux系统下的C语言练习:判断一个字符串是不是另一个字符串的子串,比如"ab"是"aabcd"的子串
-
[C语言]实现函数itoa(int n,char s[]),将整数n这个数字转换为对应的字符串,保存到s中