这道题用到了(STL初步)集合:Set 的知识点。同时,也用到了stringstream 的知识点,还用到了getline(cin,line)的知识点。
#include<iostream> #include<cstring> #include<sstream> #include<set> using namespace std; int main() { string s, line; while (getline(cin, line) && line[0] != '#') { stringstream ss; //stringstream利用输入输出做数据的转换 ss << line; //如这里ss>>line,输入ss的是一行字符串,含空格 set<string> dict; //声明一个string的集合,起名为dict while (ss >>s) //从ss输出来的是一个个字符串,不含空格 { dict.insert(s); //往dict集合里面插入元素。注意,dict集合里面元素是不重复的 } cout << dict.size() << endl; } }