当有一个字符串。
然后你可以选择一个位置,将其前后交换位置。
例如有字符串"abcdef"
你输入’2‘,
然后就会输出"cdefab“。
#include<string.h>
#include<stdio.h>
void reverse(char*left,char*right) //进行交换函数 的主体
{
while(left<right)
{ char tmp=*left;
*left=*right;
*right=tmp;
left++;
right--;
}
}
void left_move(char* arr,int k) //根据所给位置设置三次交换
{
int len=strlen(arr);
reverse(arr,arr+k-1);
reverse(arr+k,arr+len-1);
reverse(arr,arr+len-1);
}
int main()
{ int i=0; //主体函数
char arr[]="abcdef";
scanf("%d",&i);
left_move(arr,i);
printf("%s\n",arr);
return 0;
}
当然你也可以继续优化,比如可以去先自己输入一个字符串,再进行交换(因为这个重点是交换,所以我就直接设好了字符串)。可以将这个当作一个小工具去应用到别的程序中。
萌新第一次,望支持。