您的位置:首页 > 其它

字符及子串的逆转

2016-06-26 10:26 465 查看
输入 i come from tianjin. 输出 tianjin. from come i

int main()
{

  int i = 0, j = 0, flag = 0, begin, end;
  char str[] = "i come from tianjin.";
  char temp;
  j = strlen(str) - 1;
  printf("%s\n", str);
  while (j > i)//逆序整个子串
  {
  temp = str[i];
  str[i] = str[j];
  str[j] = temp;
  j--;
  i++;
  }
  printf("%s\n", str);
  i = 0;
  while (str[i])
  {
  if (str[i] != ' ')
  {
  begin = i;
  while (str[i] && str[i] != ' ')
  {
  i++;

  }
  i = i - 1;//这的处理很重要
  end = i;
  }
  cout << begin << " "<<end<<endl;
  while (end > begin)//逆序单词
  {
  temp = str[end];
  str[end] = str[begin];
  str[begin] = temp;
  begin++;
  end--;
  }
  i+=1;//i在递增
}
printf("%s\n", str);
cin.get();
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: