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