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