目的:实现字符串左旋,例如ABCD,左旋一个字符成为BCDA,左旋两个字符成为CDAB
代码:
#include <stdio.h> #include <string.h> void turn(char arr[], int n) { for (int i = 0; i < n; i++) //实现n次旋转 { int tmp = arr[0]; //把开头的字符先存起来 for (int j = 0; j < (strlen(arr) - 1);j++) { arr[j] = arr[j + 1]; //把后一个字符放到前一个字符的位置上 } arr[strlen(arr) - 1] = tmp; //一次旋转后,末尾的位置正好空出来,把第一个字符放到末尾的位置上。 } } int main() { int n = 0; scanf("%d", &n); //输入需要左旋字符的个数 char arr[10] = { 0 }; scanf("%s", arr); turn(arr, n); //turn函数来具体实现 printf("%s", arr); return 0; }