单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 69554 Accepted Submission(s): 17473
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend
Sample Output
4
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
while (getline(cin,s))
{
getchar();
getchar();
int i=0, j = 0,k=0;
while (s[i] != 35&&s[i]!='\0')
{
if (s[i]==32)
{
i++, j++;
}
i++;
}
string *b = new string[j+2];
for (int a = 0; a < j+1; a++)
{
k = s.find(" ");
b[a] = string(s, 0, k);
if(a!=j+1)
s = s.substr(k + 1);
}
for (int d = 0; d < j + 1; d++)
{
string temp;
for (int g = 0; g < j +1- d-1; g++)
{
if (b[g] < b[g + 1])
{
temp = b[g];
b[g] = b[g + 1];
b[g + 1] = temp;
}
}
}
int m = 1;
for (int h = 0; h < j; h++)
{
if (b[h] != b[h + 1])
m++;
}
cout << m;
}
}