字符串的旋转

来源:互联网 发布:怎么修改tomcat的端口 编辑:程序博客网 时间:2024/05/29 15:24

对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。

给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。

测试样例:
"ABCDEFGH",8,4
返回:"FGHABCDE"


fgets(buf,sizeof(s),stdin)

stdin表示标准输入,是一个FILE类型。
fgets(buf,sizeof(s),stdin) 意思就是说从标准输入读入最多s-1个字符,存储到buf中,并在后面添加一个'\0',如果读入的不满s-1个字符,则都存储到buf中,遇到换行符结束,对了提醒楼主,buf要足够大,要大于等于sizeof(s),不然容易造成内存泄露


#include <stdio.h>#include <string.h>#define N 100int main(){char s[N];int n;int p;int i;int j;char ch;printf("Enter string(<=100):");fgets(s,N,stdin);printf("Enter len:");scanf("%d",&n);printf("Enter the location move(<=%d):",n-1);scanf("%d",&p);for(i = 0; i < n-p-1; i++){ch = s[n-1];for(j = n-1; j >= 1; j--){s[j]=s[j-1];}s[0] = ch;}printf("the result:%s",s);    return 0;}


原创粉丝点击