#include <stdio.h>
#include<string.h>
char *shift(char *pstr,int n,char mode);
int main()
{
int i,j,n,o;
char pstr[1000];
char mode;
printf("请输入字符串:");
scanf("%s",pstr);
printf("请输入移动位数:");
scanf("%d",&n);
printf("请输入mode:");
getchar();
scanf("%c",&mode);
shift(pstr,n,mode);
}
char *shift(char *pstr,int n,char mode)
{
int i,k,m=0,t=n;
char a[1000];
k=strlen(pstr);
int p=k-n;
if(mode=='R')
{
for(i=0;i<n;i++)
{
a[i]=pstr[p];
p++;
}
for(i=n;i<k;i++)
{
a[i]=pstr[m];
m++;
}
for(i=0;i<k;i++)
{
pstr[i]=a[i];
}
}
if(mode=='L')
{
for(i=0;i<k-n;i++)
{
a[i]=pstr[t];
t++;
}
for(i=k-n;i<k;i++)
{
a[i]=pstr[m];
m++;
}
for(i=0;i<k;i++)
{
pstr[i]=a[i];
}
}
for(i=0;i<k;i++)
{
printf("%c",a[i]);
}
return pstr;
}
#include<string.h>
char *shift(char *pstr,int n,char mode);
int main()
{
int i,j,n,o;
char pstr[1000];
char mode;
printf("请输入字符串:");
scanf("%s",pstr);
printf("请输入移动位数:");
scanf("%d",&n);
printf("请输入mode:");
getchar();
scanf("%c",&mode);
shift(pstr,n,mode);
}
char *shift(char *pstr,int n,char mode)
{
int i,k,m=0,t=n;
char a[1000];
k=strlen(pstr);
int p=k-n;
if(mode=='R')
{
for(i=0;i<n;i++)
{
a[i]=pstr[p];
p++;
}
for(i=n;i<k;i++)
{
a[i]=pstr[m];
m++;
}
for(i=0;i<k;i++)
{
pstr[i]=a[i];
}
}
if(mode=='L')
{
for(i=0;i<k-n;i++)
{
a[i]=pstr[t];
t++;
}
for(i=k-n;i<k;i++)
{
a[i]=pstr[m];
m++;
}
for(i=0;i<k;i++)
{
pstr[i]=a[i];
}
}
for(i=0;i<k;i++)
{
printf("%c",a[i]);
}
return pstr;
}