hdu-2072-单词数

单词数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 28593    Accepted Submission(s): 6854


Problem Description

lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。

 


 

Input

有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。

 


 

Output

每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。

 


 

Sample Input

you are my friend
#

 


 

Sample Output

4

 


 

Author

Lily

 

 

代码:

#include<stdio.h>
#include<string.h>
#include<iostream>  //exit(0);
char str[1000000];
char s[1000][50];
int main()
{
    char *p;
    int c,sum,i,len,t,j,l,k,u,v;
    while(gets(str))
    {   v=-1;u=0;
  c=0;
  sum=0;
  memset(s,0,sizeof(s));
    len=strlen(str);
  for(i=0;i<len;++i)
  {
   if(str[i]=='#')
   exit(0);//break;
   if(str[i]!=' '&&c==0)
   {   u=0;s[++v][u]=str[i];   //v 是存放的单词个数  u 是每个单词的字母
    c=1;  // c=1 处不是空格
            }
             else if(str[i]!=' ')
              s[v][++u]=str[i];
   else if(str[i]==' ')
   c=0;
   
  }int sum1=0;
  for(k=0;k<=v;k++)
  {  for(l=k+1;l<=v;++l)
      if(strcmp(s[l],s[k])==0)
        break;    //筛除 相同的单词
           if(l==v+1)
             sum1++;
        }
  printf("%d\n",sum1);
 }
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值