两种方法实现右旋字符串中的k个字符
2016-07-31 19:44
302 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> void left_spin(char a[], int k) { int i = 0; for (i = 0; i < k; i++) { int j = strlen(a) - 1; char tmp = a[j]; for (j = strlen(a)-1; j > 0; j--) { a[j] = a[j - 1]; } a[j] = tmp; } } int main() { char a[] = "AABCD"; int k = 0; printf("请输入要右旋的字母个数:\n"); scanf("%d", &k); left_spin(a, k); printf("%s\n", a); system("pause"); return 0; }
#include <stdio.h> #include <stdlib.h> #include <string.h> void reverse(char *left, char *right) { while (left < right) { char tmp = *left; *left = *right; *right = tmp; left++; right--; } } void left_spin(char a[], int n) { char *str = a; int k = strlen(a); reverse(str, str+k-1-n);// reverse(str+k-n, str+k-1); reverse(str, str+k-1); } int main() { char a[] = "AABCD"; int n = 0; printf("请输入要右旋的字母个数:\n"); scanf("%d",&n); left_spin(a,n); printf("%s\n",a); system("pause"); return 0; }
相关文章推荐
- 两种方法实现左旋字符串中的k个字符
- 英文字符串第一个字符大写C#和Javascript两种实现方法
- 实现左旋字符串中前k个字符的多种方法(交换法、双倍字符串法、翻转)
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 实现一个函数,可以左旋字符串中的k个字符。(三种方法)
- 10.6 分别用字符数组和字符指针作函数参数两种方法编程实现在字符串每个字符间插入一个空格的功能
- 组合(从长度为n的字符串中取m个字符)---java两种实现方法
- 三种方法实现一个函数,可以左旋字符串中的k个字符
- "找出字符串中第一个不重复的字符"和"找出字符串中最后一个重复的字符"的两种方法的C++实现
- as3 模拟去掉字符串前后自定字符Trim()方法实现
- C#实现数字字符串左补齐0的两种方法
- Sql字符串分组Split函数的两种实现方法(转)
- linux shell实现获取用户输入指定范围的单个字符的两种方法
- C++实现字符串替换的两种方法
- Oracle实现获得字符串中指定字符个数的方法
- C#实现字符串按多个字符采用Split方法分割
- 编写一个方法用于验证指定的字符串是否为反转字符,返回true和false。请用递归算法实现
- C#实现字符串按多个字符采用Split方法分割
- js去除重复字符串两种实现方法
- C#实现字符串按多个字符采用Split方法分割