/*字符串滚动
例:输入abcdef
像左移动3位
输出defabc*/
#include <stdio.h>
#include <string.h>
int main()
{int i,t,n;char a[100],b[100];printf("请输入一串字符串:\n");gets(a);printf("向左还是向右移动(1.左 2.右):");scanf("%d",&i);printf("移动几位:");scanf("%d",&n);t=strlen(a);//把字符串a中的字节个数给tn=n%t;//减少运行次数,因为当移动次数大于t时会重复之前的操作if(i!=1) n=t-n;//向右 进不去就是向左 for(i=0;i<t;i++)//i是下标 {b[i]=a[n++];//将数组a中对应的值给b if(n==t) n=0;//若下标n到达一定的值时,归零 }b[t]='\0';//给最后弄个结束标志,让puts可以正常输出 puts(b);
}
视频讲解:猴哥精讲(字符串的滚动)-CSDN直播