lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
#include <stdio.h>
#include <string.h>
int main()
{
char word[101];
int n, m;
char w[100][101];
int o, p;
int i, j;
while (1)
{
gets(word);
if (word[0] == '#')
break;
m = 0, o = 0;
n = strlen(word);
memset(w, '\0', sizeof(w));
for (i = 0; i < n; i++)
{
if (word[i] != ' ')
{
m++;
p = 0;
while (word[i] != ' ' && i < n)
{
w[o][p++] = word[i];
i++;
}
for (j = 0; j < o; j++)
if (strcmp(w[j],w[o]) == 0)
{
memset(w[o], '\0', sizeof(w[o]));
o--, m--;
}
o++;
}
}
printf("%d\n", m);
}
return 0;
}