单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 28418 Accepted Submission(s): 6797
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend
#
Sample Output
4
注意全是空格或者是一个回车的情况;
#include<cstdio> #include<cstring> int main() { char a[1200],b[1000][20]; int len,i,j,k,t; while(gets(a)) { if(strcmp(a,"#")==0) break; len=strlen(a); for(i=0,j=0,k=1;i<len;) { if(a[i]==' ') { j=0; i++; continue; } for(;a[i]!=' '&&i<len;i++) { b[k][j++]=a[i]; } b[k++][j]='\0'; } int s,sum=1; if(k==1) sum=0; for(i=2;i<k;i++) { s=1; for(j=1;j<i;j++) { if(strcmp(b[i],b[j])==0) s=0; } sum+=s; } printf("%d\n",sum); } }