比较简单的一道题,主要是对字符串的一些基本的操作,这里用到了string.h里的strtok函数来对字符串进行分割,然后用STL的set存储每个单词,最后set的大小即为不同的单词的个数。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<string>
#include<set>
int main()
{
char buf[1024];
std::set<std::string> words;
while(gets(buf) != NULL)
{
if(buf[0] == '#')
break;
words.clear();
char *tmp = strtok(buf," ");
while(tmp != NULL)
{
words.insert(tmp);
tmp = strtok(NULL," ");
}
printf("%d\n",words.size());
}
return 0;
}