统计句子中的不同单词个数(句子中含有标点符号,单词不区分大小写)
#include<iostream> #include<sstream> #include<string> #include<cctype> #include<set> using namespace std; set<string> dict; int main() { string s,buf; while(getline(cin,s)) { dict.clear(); for(int i=0;i<s.length();i++) { if(isalpha(s[i])) s[i]=tolower(s[i]);//将字母统一转化为小写 else s[i]=' ';//将非字母的字符全部转为空格 } stringstream ss(s); while(ss>>buf) dict.insert(buf); for(set<string>::iterator it=dict.begin();it!=dict.end();it++) { cout<<*it<<endl; } } return 0; }