你就从第k个开始输出字符,当k大于字符串长度时,减去字符串长度继续输出
#include <stdio.h>
#include <string.h>
int main()
{
int k,len,i;
char s[1000] = {0};
scanf("%d",&k);
scanf("%s",s);
len = strlen(s);
for(i=0;i<len;i++)
{
if((i+k) >= len)
printf("%c",s[i+k-len]);
else
printf("%c",s[i+k]);
}
return 0;
}
代码大概是这样,有点小问题,你能看懂就好,第二个for循环是关键点
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int sho=0;
char s1[100]={0};
char s2[100]={0};
scanf("%d%s",&sho,s1);
int len=strlen(s1);//获取字符数组的长度
for(int x=0;x<sho;++x)
{
for(int y=0;y<len;++y)
{
s2[y]=s1[y+1];
}
s2[len-1]=s1[0];
}
printf("%s\n",s2);
return 0;
}
```