lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
Sponsor
#include<stdio.h>
#include<string.h>
int main()
{
int n;
while(scanf("%d",&n)&&n)
{
int i,k,max=-1010,j,sum=0;
char s[1010][20];
for(i=0; i<n; i++)
scanf("%s",&s[i]);
for(i=0; i<n; i++)
{
sum=0;
for(j=0; j<n; j++)
if(strcmp(s[i],s[j])==0)
sum++;
if(sum>max)
{
max=sum;
k=i;
}
}
printf("%s\n",s[k]);
}
return 0;
}
题意 给你一行单词,统计它的不同的单词个数
思路 从前面开始找第一个单词,找到就紧接着该单词的后面开始找与之相同的单词,第一次找到相同就 break, 最后用总单 词 数减去所有相同单词个,需要注意的就是遍历的for循环需 数要从0到字符串最后的后面一个,防止什么都没有的情况