| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1232 人关注过本帖
标题:有时候我们需要将一段文字移动往前或者往后移动一段距离。例如,想将 theq ...
只看楼主 加入收藏
wangjx
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-5-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
有时候我们需要将一段文字移动往前或者往后移动一段距离。例如,想将 thequickbrownfoxjumpsoveralazydog 中的lazydog移动
#include <stdio.h>
/* 局部翻转一个字符数组s,从下标start到下标end */
void part_reverse(char s[], int start, int end)
{
  int temp;
  for (; start < end; ++start, --end)
  {
    temp = s[start];
    s[start] = s[end];
    s[end] = temp;
  }
}

/* 将长度为n的字符数组的前i个字符后移 */
void rotate(char s[], int n, int i) {
  /* 你的代码<开始> */

  /* 你的代码<结束> */
}

int main() {
  char test_string1[] = "abcdef";
  char test_string2[] = "thequickbrownfoxjumpsoveralazydog";
  rotate(test_string1, 6, 3);
  rotate(test_string2, 33, 26);
  printf("%s\n", test_string1);
  printf("%s\n", test_string2);
  return 0;
}
搜索更多相关主题的帖子: char int 移动 start end 
2020-05-22 14:28
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:20 
烂代码,又没把需求说完整。
瞎猜猜,
    part_reverse( s, 0, i-1 );
    part_reverse( s, i, n-1 );
    part_reverse( s, 0, n-1 );
2020-05-22 16:47
快速回复:有时候我们需要将一段文字移动往前或者往后移动一段距离。例如,想将 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022224 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved