题解:本题采用 char a[][] 对单词进行存储。
#include<bits/stdc++.h>
using namespace std;
int main()
{
char s[1010];
while(gets(s))
{
if(s[0]=='#') break;//;;continue
int len,t,k;
char a[1010][1010];
memset(a,0,sizeof(a));
len=strlen(s);
t=0;
k=0;
for(int i=0; i<=len; i++)
{
if(s[i]==' '||s[i]=='\0')
{
a[t][k]='\0';
for(int j=0; j<t; j++)
{
if(strcmp(a[j],a[t])==0)
{
for(int v=j; v<t; v++)
{
strcpy(a[v],a[v+1]);
}
j--;
t--;
}
}
if(k!=0)
{
t++;
k=0;
}
}
else
{
a[t][k++]=s[i];
}
}
printf("%d\n",t);
}
return 0;
}
感悟:这个题做了快n遍了,每次代码写的都不同。其实最重要的不是你去copy 别人的代码,而是别人需要给你讲思路,然后你把它转换成自己的代码写出来。这个代码是自己琢磨的哦,老开心喽。