用c语言输出一个整数n和一字符串,将字符串循环左移n个字符
3个回答
展开全部
不用这么复杂,你用模运行符(%)就可以,不用再复制的:
算法如下
字符串: s ="abcdefghijklmn";
左移量: n = 10;
输出:
int i,j=strlen(s);
for(i=n; i<j+n; i++)
prinft("%c", s[ i%j ] );
算法如下
字符串: s ="abcdefghijklmn";
左移量: n = 10;
输出:
int i,j=strlen(s);
for(i=n; i<j+n; i++)
prinft("%c", s[ i%j ] );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我先讲一下我的算法,要是有需要我可以写写看。
就用牺牲空间的方法,将这个数组复制。再直接截取。
例如字符串为abcdefghijklmn要循环左移10位。
1。先复制得到abcdefghijklmnabcdefghijklmn。
2。直接从第十位开始往后取字符串的长度位就是结果。abcdefghij klmnabcdefghij klmn。
中间那段就是了。
就用牺牲空间的方法,将这个数组复制。再直接截取。
例如字符串为abcdefghijklmn要循环左移10位。
1。先复制得到abcdefghijklmnabcdefghijklmn。
2。直接从第十位开始往后取字符串的长度位就是结果。abcdefghij klmnabcdefghij klmn。
中间那段就是了。
更多追问追答
追问
希望写一下谢谢
追答
那你是希望最后得到一个目标数组里面是结果是么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询