http://acm.hdu.edu.cn/showproblem.php?pid=2072
#include<stdio.h>
#include<string.h>#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#define N 10000
struct danci
{
char c[100];
}a[N];
char b[N];
int main()
{
int i,j,k;
int str;
int sum;
while(gets(b)&&b[0]!='#')
{
str=strlen(b);
for(i=0,j=0,k=0;i<str;)//一个if,一个while
{
if(isalpha(b[i]))
{
k=0;
while(isalpha(b[i]))
{
a[j].c[k++]=b[i];
i++;
}
a[j++].c[k]='\0';
}
if(b[i]==' ')//考虑空格的特殊情况
{
i++;
continue;
}
}
sum=j; //总共有j个字符串
for(i=0;i<j;i++)
for(k=i+1;k<j;k++)
{
if(!strcmp(a[i].c,a[k].c))
{
sum--;//如果发现与当前字符串相同的字符串,则字符串总数减一
break;
}
}
printf("%d\n",sum);
}
return 0;
}