1.对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。
给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。
测试样例:
"ABCDEFGH",8,4
#include <stdio.h> #include <string.h> #include <stdlib.h> char *move(char *str,int len,int loc) { int i; int j; char ch; if(len <= loc) { printf("error\n"); exit(-1); } else { for(i = 0; i < len - loc -1; i++) { ch = str[len - 1]; for(j = len - 1;j >= 1; j--) { str[j] = str[j - 1]; } str[0] = ch; } return str; } } int main() { char str[20]; int n; printf("input the string!\n"); scanf("%s",str); printf("input the location!\n"); scanf("%d",&n); printf("%s\n",move(str,strlen(str),n)); return 0; }