hdu2072(c语言)

来源:互联网 发布:算法工程师面试题 编辑:程序博客网 时间:2024/06/08 17:21
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend#
Sample Output
4
#include<stdio.h>#include<string.h>int main(){ char s[200000]; while(gets(s),s[0]!='#') {  char c[1000][100]={0};  int i,j,k,flag=1;  for(i=0,j=0,k=0;i<strlen(s);i++)  {   if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')   {    if(flag==1)     j++;    c[j][k]=s[i];    k++;    flag=0;   }   else   {    flag=1;    k=0;   }  }  int z,l,sum=0;  for(i=1,sum=0;i<=j;i++)  {   z=0;   for(k=0;k<i;k++)   {    if(strcmp(c[i],c[k])==0)     z=1;   }   if(z==0)    sum++;  }  if(s[0]=='\0')  printf("0\n");  else  printf("%d\n",sum);  memset(s,0,sizeof(char)*(strlen(s))); } return 0;}
原创粉丝点击