回 帖 发 新 帖 刷新版面

主题:求:单词分离

谁懂单词分离?
如:dsg hgh hjg jgf ghgf
把单词分开成单词'
请给出源代码.
谢谢!!

回复列表 (共4个回复)

沙发

题意再明确些,单词怎么分开成单词'?

板凳

<<C程序设计教程>>第270页有一个叫做strtok()的函数会告诉你怎么分.
如果不用函数就根据单词间的空格来分.

3 楼

#include<iostream>
#include<vector>
#include<string>

using namespace std;

void Separate(vector <string> & words, const string & sentence);

int main()
{
      vector <string> words;
      string sentence;
      
      cout << "请输入一个句子:" << endl;
      getline(cin, sentence, '\n');

      Separate(words, sentence);

      cout << "该句子由以下单词组成:" << endl;
      for (int i=0; i<words.size(); i++)
          cout << words[i] << endl;

      system("pause");
      return 0;
}

/*
函数介绍:把句子分开成单词,并存储到字符串向量中 
输入变量: vector <string> & words,用来存储各个单词的字符串向量
     const string & sentence, 用来存储句子的字符串 
*/
void Separate(vector <string> & words, const string & sentence)
{
    int i = 0;
    while (i < sentence.size())    //遍历该句子 
    {
        while (sentence[i] == ' ')    //跳过空格 
            i++;
        
        string str;    
        while (i < sentence.size() && sentence[i] != ' ')    //读取单词 
            str += sentence[i++];
        
        words.push_back(str);    //存储单词    
    }
}

4 楼


谢了!!![em16]

我来回复

您尚未登录,请登录后再回复。点此登录或注册