字符串数组反转输出 以空格为单词分隔符 C++

原创 2015年11月18日 16:51:34

给出字符串数组及其长度,字符串有若干单词和空格组成,下边代码将数组中单词反转输出,输入”Welcom to Hubei
Wuhan”输出为“Wuhan Hubei to Welcom”

代码思路为:
1. 定义两个指针,分别指向一个单词的开头和结尾地址
2. 从字符串数组尾部开始检索单词,以空格为单词结束标志
3. 将两个指针区间的字符输出

#include <iostream>
using namespace std;
void string_inv(char str[], unsigned int len);
int main(){
    char str[] = "Wuhan Hubei to Welcom";
    unsigned int len = 20;
    string_inv(str, len);
    return 0;
}
void string_inv(char str[], unsigned int len){
    char *b = str+len;
    char *e = str+len;
    for (;b != str;b=e)
    {       
        while(*(--e)!=' '&& e != str){          
        }
        //memcpy(tem, e+1, (b -e)/sizeof(char));
        for (char *temp = (str == e)?e:e+1;temp < b+1;temp++)
        {
            cout << *temp ;
        }
        cout << endl;
        if(e-- == str)
            break;
    }

} 

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。

给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。...
  • yyywww666
  • yyywww666
  • 2017年09月18日 16:25
  • 579

FZU 2027 单词问题(字符串问题)

Problem Description给出一个完整的句子,这个句子中不包含不可见字符或者空格,于是在这个句子中有许多不同的单词。一个单词是指一串连续的最长的英文字母(大写或小写)。例如”#abc#”中...
  • qq_32866009
  • qq_32866009
  • 2016年04月06日 21:41
  • 365

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分...
  • hzw05103020
  • hzw05103020
  • 2015年10月19日 11:00
  • 8110

以单词为单位倒序输出一个字符串

看到坛子里有人提出这么一个问题,如何将"I am  a   programmer"输出成"remmargorp   a  ma I"。注意:相邻两个单词的空格数一次是1个,2个,3个。 1. 利用s...
  • u012631267
  • u012631267
  • 2014年02月17日 14:26
  • 658

句子反转

import java.util.Scanner;public class test { public static void main(String[] args) { // ...
  • xx_star1204
  • xx_star1204
  • 2017年09月12日 11:06
  • 107

反转句子中的单词

题目:单词翻转。输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,输入“I am a student.”,则输出“s...
  • qinlianfa
  • qinlianfa
  • 2015年03月12日 17:04
  • 796

以空格作为分隔符时 cut和awk处理的差异

http://blog.163.com/hot4321@126/blog/static/16538535820105613258809/ [rocrocket@rocrocket programmi...
  • code_think_write
  • code_think_write
  • 2012年04月27日 19:21
  • 2550

单词长度-week8-C语言习题集

单词长度(4分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it’s”算一个单词...
  • happy_bigqiang
  • happy_bigqiang
  • 2016年07月22日 16:43
  • 1995

反转句子

加句子反转, 例如将nice to meet you 反转成为 you meet to nice void reverse(char *p, char *q){ while(p < q){ ch...
  • xtzmm1215
  • xtzmm1215
  • 2015年04月02日 14:16
  • 1547

将一个句子中的单词逆序

 例如如下: I am from nanjing. 变成 I am morf gnijnan. 源代码如下: #include #include #include #incl...
  • wjw7869
  • wjw7869
  • 2016年02月24日 10:51
  • 154
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串数组反转输出 以空格为单词分隔符 C++
举报原因:
原因补充:

(最多只允许输入30个字)