/* 写一个程序将一个字符串循环右移n位
例如:字符串abcdef 循环右移2位是 efabcd
思路:把最后的n位字符连同前面的字符存放到新的数组中
*/
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,n;
char buf[30]={0};
char newbuf[30]={0};
printf("请输入一个字符串!\n");
scanf("%s",buf);
printf("请输入你想字符串循环右移多少位!\n");
scanf("%d",&n);
for(i=strlen(buf)-n,j=0; i<strlen(buf); i++,j++)
{
newbuf[j]=buf[i];
}
for(i=0;i<strlen(buf)-n;i++)
{
newbuf[j]=buf[i];
j++;
}
printf("循环右移n位,结果是:%s\n",newbuf);
}
终端结果如下: