单词数

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char ch[110000];
char sh[100000][120];
int visit[10000];
int main( )
{
 
 int i,j,k,t,len,flag;
 while(gets(ch)&&ch[0]!='#')
 {
  flag=1;
  len=strlen(ch);
  t=0,k=0;
  memset(visit,0,sizeof(visit));
  j=0;
  while(ch[j]==' ')
  j++;
  while(ch[len-1]==' ')
  len--;
  if(j==len)
  {
  printf("0\n");
  continue;
  }
  for(i=j,j=0;i<=len;i++) 
  {
  if(ch[i]!=' '&&ch[i]!='\0')
  sh[k][j++]=ch[i];
  else 
   {
   while(ch[i]==' '&&ch[i]=='\0'&&i<len)
       i++,flag=0;
     if(!flag)
      i--;
     sh[k][j]='\0',k++,j=0;
     flag=1;
    }
  }
  for(i=0;i<k;i++)
   for(j=0;j<k;j++)
     if(i!=j&&strcmp(sh[i],sh[j])==0&&!visit[j])
     t++,visit[j]=1,visit[i]=1;
  printf("%d\n",k-t);
}
return 0;
}
  
  
这道题解的有点烦锁。。

posted on 2011-05-04 10:39  more think, more gains  阅读(153)  评论(0编辑  收藏  举报

导航