主题:求:单词分离
gorila
[专家分:0] 发布于 2006-11-07 21:47:00
谁懂单词分离?
如:dsg hgh hjg jgf ghgf
把单词分开成单词'
请给出源代码.
谢谢!!
回复列表 (共4个回复)
沙发
rickone [专家分:15390] 发布于 2006-11-07 22:44:00
题意再明确些,单词怎么分开成单词'?
板凳
freeeerf [专家分:5440] 发布于 2006-11-07 22:55:00
<<C程序设计教程>>第270页有一个叫做strtok()的函数会告诉你怎么分.
如果不用函数就根据单词间的空格来分.
3 楼
goal00001111 [专家分:4030] 发布于 2006-11-08 23:05:00
#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 楼
gorila [专家分:0] 发布于 2006-11-10 08:24:00
谢了!!![em16]
我来回复