问题描述:输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出,单词不区分大小写。
没有太多技巧,注意stringstream和set的用法即可(vs2012运行通过):
// 10815.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<string>
#include <iostream>
#include <fstream>
#include <set>
#include <sstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//ifstream in("data.txt");
set<string> dict;
string str,buf;
while(cin>>str)
{
for(int i=0;i<str.size();i++)
{
if(isalpha(str[i]))
{
str[i] = tolower(str[i]);
}
else
{
str[i] = ' ';
}
}
stringstream ss(str);
while(ss>>buf)
{
dict.insert(buf);
}
}
for(set<string>::iterator i = dict.begin();i!=dict.end();i++)
{
cout<<*i<<endl;
}
return 0;
}